C# NuGet更新后的程序集冲突
我有一个.Net Framework 4.7.1 Web表单应用程序和.Net Framework 4.7.1。WebJob,两者都在Azure AppService上运行 自从通过Nuget WebJob包从2.0.0更新到2.2.0以来,出现了许多依赖性问题 第一个在运行时出现:C# NuGet更新后的程序集冲突,c#,.net,nuget,assemblies,azure-webjobs,C#,.net,Nuget,Assemblies,Azure Webjobs,我有一个.Net Framework 4.7.1 Web表单应用程序和.Net Framework 4.7.1。WebJob,两者都在Azure AppService上运行 自从通过Nuget WebJob包从2.0.0更新到2.2.0以来,出现了许多依赖性问题 第一个在运行时出现: System.IO.FileLoadException:无法加载文件或程序集'System.Net.Http,Version=4.1.1.2,Culture=neutral,PublicKeyToken=b03f5
System.IO.FileLoadException:无法加载文件或程序集'System.Net.Http,Version=4.1.1.2,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。定位的程序集清单定义与程序集引用不匹配
第二个在编译过程中显示:
考虑对许多程序集(如System.Net.Http、System.Net.Sockets、System.IO.Compression等)重新映射app.config程序集
为了解决这个问题,我添加了大量源代码和编译器警告
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
真的
真的
这允许WebJob执行,但编译器仍会在程序集重新映射时显示警告
自从我相信.Net标准以来,我看到了更多关于程序集冲突的问题
你能给我解释一下吗
1.程序集发生了什么,为什么需要打开绑定重定向?
2.为什么这不能解决第二个问题
多谢各位
Migrate packages.config to PackageReference
来解决它。在webjobs中添加以下.csproj并编译
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net461</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs" Version="2.2.0" />
</ItemGroup>
</Project>
Exe
net461
有关更多详细信息,请参阅此