我在csproj文件中使用了带有PackageReferences的新nuget机制。 使用瞬态解析时,不会在app.config中创建BindingRedirections。
例如:
我在csproj中使用新的nuget格式安装了System.Reactive 3.1.1。 Nuget不会创建绑定重定向。 我在PackageManagerConsole中尝试了Add-BindingRedirect但没有任何反应。
当我使用旧格式(packages.config)时,nuget会创建以下绑定重定向
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Reactive.Core" publicKeyToken="94bc3704cddfc263" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.3000.0" newVersion="3.0.3000.0" />
</dependentAssembly>
</assemblyBinding>
接下来的问题是:为什么只有1个重定向? System.Reactive取决于多个nugets,但只有一个重定向?
有人可以向我解释一下吗? 提前致谢
拉斯
答案 0 :(得分:0)
我们的想法是绑定重定向不会添加到源App.config
,而是在构建期间生成,因此生成的Foo.exe.config
应具有必要的绑定重定向,具体取决于依赖关系。< / p>
这由一个属性控制,该属性通常为使用PackageReference
的项目自动设置:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>