我们有一个使用Visual Studio 2013创建的.NET 4网站项目,它引用了System.Net.Http .dll。
这是web.config中加载.dll的代码行:
该项目可以成功构建,但是当我们尝试“发布网站”时,会出现以下错误:
“System.Net”命名空间中不存在“Http”类型或命名空间(是否缺少一个程序集引用?)
看起来程序集可能正在从GAC加载,我们尝试将程序集放在应用程序的BIN文件夹中,但没有任何改变 - 在项目属性页面上仍显示为GAC引用。
我们还尝试添加:
这是web.config中加载.dll的代码行:
<add assembly="System.Net.Http, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
该项目可以成功构建,但是当我们尝试“发布网站”时,会出现以下错误:
“System.Net”命名空间中不存在“Http”类型或命名空间(是否缺少一个程序集引用?)
看起来程序集可能正在从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>
建议如下:在发布到 Azure 网站后,无法加载文件或程序集 System.Web.Http.WebHost
但是这似乎也没有起作用。
我们已经将目标框架更改为 3.5 和 4.5,但没有任何效果。
我们尝试从几台不同的计算机进行发布。
编辑:我们尝试了 RobAda 建议的 NuGet 包,但它没有产生预期的效果,我们仍然会出现错误。