我正在Sharepoint上用IoC构建一个Web服务。
下面是我的主要代码:
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1), WebService(Namespace = "http://tempuri.org/")]
class WebService : System.Web.Services.WebService
{
private static IContainer Container { get; set; }
private DataTable Articles = new DataTable();
private string display;
[WebMethod(EnableSession = true, Description = "Web method for using search service")]
public string DisplayArticles()
{
var builder = new ContainerBuilder();
builder.RegisterType<WebServiceRepo>().As<IArticlesRepository>();
Container = builder.Build();
Search();
return display;
}
public void Search()
{
using (var scope = Container.BeginLifetimeScope())
{
var repo = scope.Resolve<IArticlesRepository>();
Articles.Load(repo.GetArticles(),LoadOption.OverwriteChanges);
display = repo.ReturnArticles(Articles);
}
}
}
这个问题是我在尝试调用使用Autofac的方法时遇到的错误:
System.IO.FileNotFoundException:未能加载文件或程序集“Fullman,Version=2.6.1.841,Culture=neutral,PublicKeyToken= 17863 af 14 b 0044 da”或它的某一个依赖项。系统找不到指定的文件。
在SOAP_Web服务. Web服务.显示文章()
它说关于文件找不到,但版本2.6.1.841的Autofac.dll
存在于bin/debug文件夹中。我使用此版本的Autofac,因为在Sharepoint 2010上工作,我只能选择.NET Framework v3.5,它是在此版本的.NET Framework上操作的最新版本之一。
类似问题的答案对我没有帮助。
1条答案
按热度按时间dgiusagp1#
不知何故,我设法解决了它...如果有人会有类似的问题:
我添加到项目引用中的Autofac程序集,Visual Studio不知何故无法找到,尽管该文件存在于我的项目中(如果有人能解释为什么会发生这种情况,我将非常感激)。解决方案是通过开发人员命令提示符使用以下命令将此程序集添加到GAC: