我正在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上注册,但错误不会改变。 有什么想法吗?
由于
答案 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)
答案 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;中例外
希望有所帮助
麦克