ASP.NET网站项目构建但发布时出现错误

时间:2015-11-24 09:09:39

标签: c# asp.net .net visual-studio-2013 publish

我们使用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"/>

项目构建正常,但是当我们尝试“发布网站”时,它会出现以下错误:

  

名称空间中不存在类型或命名空间名称“Http”   'System.Net'(您是否缺少程序集引用?)

看起来程序集可能是从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软件包,并且没有达到预期效果,我们仍然遇到错误。

2 个答案:

答案 0 :(得分:4)

我在朋友应用上看到了同样的问题,我们需要挖掘相当多但最终发现你需要安装这个nuget包:

  

https://www.nuget.org/packages/Microsoft.Net.Http

然后,您需要添加对System.Net.Http的引用,以使其不会产生指定的错误。

答案 1 :(得分:1)

听起来像是在试图将一些不适合的东西用于鞋拔。

一种可能的架构方法是将功能分离为解决方案。

如果时间限制是一个问题,这是可能的,它可能是你的问题的解决方案。

长期来看:值得确保你及时了解时间,因为随着时间的推移你会得到更多这样的问题,当然这必须是务实的方法......