找不到程序集System.ServiceModel

时间:2009-01-29 18:54:22

标签: sharepoint .net-3.5

我正在sharepoint上部署webpart并遇到一些错误。 webpart使用来自Web服务的数据并使用Microsoft Chart(Framework 3.5)显示图表。当我尝试访问它时,我得到了以下错误:

  

无法加载文件或程序集'System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一。系统找不到指定的文件。

     

StackTrace:at   System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息,WebResponse响应,Stream responseStream,Boolean asyncCall)
  在   System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串   methodName,Object [] parameters)

我尝试将System.Servicemodel.dll复制到bin文件夹并在GAC上注册,但错误不会改变。 有什么想法吗?

由于

8 个答案:

答案 0 :(得分:4)

扩展上述答案:

听起来您的网站在asp.net 2.x上运行。由于System.ServiceModel是一个3.x组件,因此不会加载程序集。您需要在服务器上安装3.5,或者如果您已经安装了IIS以在3.5

下运行该站点

答案 1 :(得分:3)

我有类似的问题,但这是因为我的.NET框架搞砸了/损坏了,所以我会发布修复它的内容。也许它有点矫枉过正,但是没有别的办法就可以了。

http://blogs.msdn.com/b/astebner/archive/2008/08/28/8904493.aspx获取“dotnetfx_cleanup_tool”(我认为其中一个下载链接失败了,所以请使用另一个)

卸载框架2.0及更高版本(我做了3.5,3.0,2.0.2.0让我重新启动)。

重要说明:转到C:\ WINDOWS \ Microsoft.NET \ Framework并删除或重命名您删除的.NET版本的文件夹。

然后我安装了.NET Framework 2.0 SP2(之后重新启动)。错误消失了。 我还安装了.NET Framework 3.5 SP1(无需重启即可运行),错误仍然消失。

答案 2 :(得分:1)

您的网站是否配置为使用ASP.NET 2.0.5.something?

也许这篇文章可以提供帮助:

Forcing ASP.NET 3.5 ON IIS

答案 3 :(得分:0)

尝试在sharepoint服务器上安装.NET Framework 3.5。

答案 4 :(得分:0)

听起来Web部件本身是针对较旧版本的System.ServiceModel程序集(可能是beta版本)构建的。如果您可以访问Web部件的源代码,则应该根据最新的稳定版本重新编译它。否则,您必须找到完全相同的System.ServiceModel版本并将其注册到您的GAC中。

编辑:你也可以尝试进入你的网络应用程序的Web.config并用这个替换你的System.ServiceModel引用:

<Reference Include="System.ServiceModel">
  <SpecificVersion>False</SpecificVersion>
</Reference>

答案 5 :(得分:0)

问题出在Web服务中,而不是webpart。 部署Web服务的计算机安装了framework 2.0。 例外情况已在网站上发布并报告回来。 谢谢大家的意见。

答案 6 :(得分:0)

启动Visual Studio 2010命令提示符或浏览到“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319”。并从命令提示符运行以下命令:

aspnet_regiis.exe -iru

答案 7 :(得分:0)

我遇到了Silverlight 4应用程序的同样问题,并通过关闭调试异常检查来解决它

  Common Language Runtime exceptions

在Debug =&gt;中例外

希望有所帮助

麦克