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

Mac*_*ack 8 .net c# asp.net publish visual-studio-2013

我们使用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"/>
Run Code Online (Sandbox Code Playgroud)

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

名称空间'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>
Run Code Online (Sandbox Code Playgroud)

如此处所示:无法在发布到Azure网站后加载文件或程序集System.Web.Http.WebHost

但这似乎也不起作用.

我们已将目标框架更改为3.5和4.5,但没有效果.

我们尝试从几台不同的机器发布.

编辑:我们已经尝试过RobAda中的nuget包建议并且它没有达到预期的效果,我们仍然会收到错误.

小智 1

听起来好像你正试图把东西塞到不合适/不合适的地方。

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

如果时间限制是一个问题并且这是一种可能性,那么它可能是您问题的解决方案。

但从长远来看:值得确保您与时俱进,因为随着时间的推移,您会遇到更多这样的问题,当然这必须务实地对待......