加载System.Net.Http.Formatting时出错

时间:2016-07-15 03:32:16

标签: c# asp.net sharepoint .net-assembly

我在Sharepoint服务器上的webpart中使用System.Net.Http.Formatting,但我收到以下错误。我知道它是MVC框架的一部分,我通过C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Net.Http.Formatting.dll引用它,但是在Sharepoint服务器上没有安装MVC。它安装在我的开发服务器上,我的解决方案在开发服务器上工作正常,但没有在没有MVC的Sharepoint服务器上工作。有人可以告诉我如何在visual studio解决方案中引用它,以便它可以在不安装MVC框架的情况下工作

使用程序集System.Net.Http.Formatting的解决方案是Sharepoint Web部件使用的类库。

Error: Could not load file or assembly 'System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 

我为程序集尝试了Copy Local为true,但是我得到了同样的错误。

使用Visual Studio 2013

2 个答案:

答案 0 :(得分:1)

您可以尝试使用gacutil将此DLL复制到SharePoint服务器上的GAC吗?如果没有,请这样做。

  1. 将System.Net.Http.Formatting.dll复制到SharePoint服务器,假设为E驱动器

  2. 打开cmd并运行

    gacutil / i" E:\ System.Net.Http.Formatting.dll"

  3. 如果你找不到gacutil,可能它位于

    C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64
    

答案 1 :(得分:0)

我最近遇到了类似的问题并找到了这个帖子。如上所述,您需要在全局程序集缓存(GAC)中安装依赖项(DLL)。您可以使用“包”设置在Visual Studio中执行此操作。转到解决方案资源管理器中的Package / Package.package。然后点击“高级”标签,在那里通过用户界面添加所需的任何依赖项。在我的例子中,NuGet包管理器在解决方案的根目录下创建的'packages'文件夹下选择了我需要的依赖DLL。

下次部署解决方案时,它将在SharePoint部署中包含这些依赖项。我不是.NET专家所以我花了很长时间才弄清楚这一点并且我不知道这样做的最佳实践,但它确实对我有用。