我正在尝试构建一个遗留的.net 4 Web应用程序,虽然构建成功但是在尝试访问该网站时我得到了
Could not load file or assembly 'System.Net.Http.Primitives' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
或
Could not load file or assembly 'System.Net.Http.Extensions' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
我可以从备份中手动添加这些文件,但网站可以正常运行但是如何让它成为构建输出的一部分?
Nuget on the solution已经包含了#34; Microsoft.Net.Http.2.0.20710.0"和" System.Net.Http.2.0.20505.0"但这些都不包括丢失的dll。
这需要在单独的构建服务器上工作,因此为随机dll提供硬编码路径是禁止的。
代码很旧,我在代码中的任何地方都看不到任何引用。
与备份相比,还有另外一个Dll丢失,但我不确定它是否相关" System.Web.ApplicationServices.dll"因为没有任何数量的谷歌出现任何可能包含它的Nuget包。
答案 0 :(得分:0)
1)卸载了Web API NuGet包。
2)再次安装Web API(Beta)NuGet包。
3)验证.csproj文件包含所有引用的程序集,因此它总是从Bin文件夹中获取,