由于一些第三方.dll,我最近将项目从.netcore 2.1迁移到asp.net 4.7.2。该解决方案在本地构建和运行。它还基于TeamCity中的开发环境。但是,它在Azure中不起作用。在检查日志时,出现以下错误:
[ERR]执行请求时发生未处理的异常。 System.IO.FileNotFoundException:无法加载文件或程序集“ System.Net.Http,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件。
该文件确实存在!经过研究,我发现了这篇文章:Single-name references are removed by the SDK when targeting .NET Framework 4.7.2 and referencing a package with the same assembly
我删除了System.Http.Net参考,希望它将在框架中使用它,同样的错误。接下来,我尝试了在其中说明的解决方法:
<ItemGroup>
<PackageReference Include="System.Net.Http" Version="4.2.0">
<ExcludeAssets>All</ExcludeAssets>
</PackageReference>
</ItemGroup>
相同的错误。
欢迎任何帮助或令人困扰的拍摄想法
答案 0 :(得分:1)
我希望您在将目标定为4.7.1时会看到什么,但是如果目标是4.7.2,则永远不会发生此问题。您是否愿意共享msbuild binlog,以便我们可以尝试调查此处的问题并找到解决方案?为了生成msbuild binlog,只需运行以下命令从开发人员命令提示符下构建项目:
msbuild yourProject.csproj /t:rebuild /bl
那应该在当前目录上创建一个msbuild.binlog文件,所以如果可以上传,我很乐意为您提供帮助。