自动绑定重定向

问题描述 投票:15回答:3

运行VS 2017年,最新的更新。

documentation指出,启用自动绑定重定向修改的csproj文件并添加下适当<PropertyGroup>如下:

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

从历史上看我的项目已在App.config几个绑定重定向项。我最近更新了所有的Nu​​Get包的解决方案,并在其提交修改几个绑定重定向条目以匹配新版本。

我想确保一切都很好去QA所以我删除了所有条目在App.config认为他们将在未来建设再生(如文档建议他们会)。

令我吃惊的什么也没有添加到的app.config在干净/建造。

所以我的问题是,是否安全的假设,通过在我的解决方案不再需要巩固的依赖?

或者是有什么错误和VS应该产生的重定向和它的失败。

c# visual-studio
3个回答
24
投票

检查这篇文章出来:

https://weblog.west-wind.com/posts/2014/Nov/29/Updating-Assembly-Redirects-with-NuGet

有一个命令,强制的NuGet重新编写所有的组件解决方案的配置文件重定向。

刚刚尝试这一点上包管理器控制台:

PM> Get-Project –All | Add-BindingRedirect

5
投票

这是因为源的app.config没有被修改,仅输出(在编译步骤创建并放置在您的调试/发布文件夹中的一个)应用程序配置文件是。

使用Visual Studio 2013,是针对.NET Framework 4.5.1使用自动绑定重定向新的桌面应用程序启动。这意味着,如果两个部件引用不同版本的相同强命名组件的,运行时自动添加一个结合重定向到组件的输出的应用程序配置(app.config)中的文件的更新的版本。这种重定向将覆盖组件的统一,否则可能发生。源app.config文件不会被修改。

Source

重定向通过的NuGet本身产生的app.config源。您已经通过更改包装触发它。


1
投票

还有,将自动生成你缺少重定向警告。

  1. 清理项目
  2. 建设项目
  3. 转至错误列表过滤器和激活警报过滤器
  4. 筛选警告,您的主项目
  5. 寻找有这样的消息的警告: 不同版本的相同依赖性组件之间发现冲突。在Visual Studio中,双击此警告(或选择它,然后按Enter键)来解决冲突;否则,添加下面的绑定重定向到“运行时”节点的应用程序配置文件中
  6. 按照消息。点击它!

更新:你必须激活项目属性的警告 - >应用程序 - >自动生成绑定重定向

© www.soinside.com 2019 - 2024. All rights reserved.