我们有一个使用 Visual Studio 2013 创建的 .NET 4 网站项目,它引用了 System.Net.Http .dll。
这是加载 .dll 的 web.config 中的行:
<add assembly="System.Net.Http, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
项目构建正常,但是当我们尝试“发布网站”时出现以下错误:
The type or namespace name ‘Http’ does not exist in the namespace ‘System.Net’ (are you missing an assembly reference?)
看起来程序集可能是从 GAC 加载的,我们已经尝试将程序集放在应用程序的 BIN 文件夹中,但这没有任何区别——它仍然在项目属性页面上显示为 GAC 引用。
我们还尝试添加:
<runtime>
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<codeBase version="1.0.0.0" href="/bin/System.Net.Http.dll"/>
</dependentAssembly>
</assemblyBinding>
如此处所建议:Could not load file or assembly System.Web.Http.WebHost after published to Azure web site
但这似乎也行不通。
我们已将目标框架更改为 3.5 和 4.5,但没有任何效果。
我们尝试过从几台不同的机器上发布。
编辑:我们已经尝试了 RobAda 中建议的 nuget 包,但没有达到预期的效果,我们仍然遇到错误。
最佳答案
我在 friend 的应用程序上看到了同样的问题,我们需要深入挖掘,但最终发现您需要安装这个 nuget 包:
然后您需要添加对 System.Net.Http 的引用,以使其不会产生所述错误。
关于c# - ASP.NET 网站项目构建但发布时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33889481/