运行VS 2017,最新更新.
该文档指出要启用自动绑定重定向,您可以修改csproj文件并在相应的下添加以下内容<PropertyGroup>:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
Run Code Online (Sandbox Code Playgroud)
从历史上看,我的项目在app.config中有一些绑定重定向条目.我最近更新了解决方案的所有nuget包,并在提交中修改了几个绑定重定向条目以匹配新版本.
我想确保一切都很好去QA所以我删除了App.Config中的所有条目,认为它们将在下一个版本中重新生成(正如文档建议的那样).
令我惊讶的是,在clean/build上的app.config中没有添加任何内容.
所以我的问题是,可以安全地假设通过整合解决方案中的依赖关系我不再需要它们吗?
或者有什么问题,VS应该生成重定向并且失败.
Jac*_*rão 26
看看这篇文章:
https://weblog.west-wind.com/posts/2014/Nov/29/Updating-Assembly-Redirects-with-NuGet
有一个命令强制Nuget重新编写解决方案配置文件中的所有程序集重定向.
只需在Package Manager控制台上尝试:
PM> Get-Project –All | Add-BindingRedirect
Run Code Online (Sandbox Code Playgroud)
有一个警告将自动生成您丢失的重定向。
发现同一依赖程序集的不同版本之间存在冲突。在 Visual Studio 中,双击此警告(或选择它并按 Enter 键)以修复冲突;否则,将以下绑定重定向添加到应用程序配置文件中的“运行时”节点
更新:您必须在项目属性 -> 应用程序 -> 自动生成绑定重定向中激活警告
这是因为未修改源app.config,仅输出了(在编译步骤中创建并放置在Debug / Release文件夹中的应用程序配置文件)。
从Visual Studio 2013开始,面向.NET Framework 4.5.1的新桌面应用程序将使用自动绑定重定向。这意味着,如果两个组件引用同一强命名程序集的不同版本,则运行时会在输出应用程序配置(app.config)文件中自动向该程序集的较新版本添加绑定重定向。此重定向优先于否则可能发生的程序集统一。源app.config文件未修改。
源app.config中的重定向由Nuget本身生成。您已通过对软件包进行更改来触发它。
| 归档时间: |
|
| 查看次数: |
14666 次 |
| 最近记录: |