Nuget Get-Project -All |在哪里 Add-BindingRedirect获取其版本号?

jth*_*h41 6 .net c# app-config web-config visual-studio

我正在尝试将我的解决方案中的所有DLL版本与许多项目同步.我注意到我的app.config包含几个程序集绑定重定向,如下所示:

  <dependentAssembly>
    <assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.0.2.1" newVersion="4.0.2.1" />
  </dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

但是,我可以通过NuGet包管理器告诉我,没有需要整合的软件包,所有项目都指向该程序集的4.4.1版本

我试着接受这篇博文的建议.我删除了所有绑定重定向并尝试通过以下方式重新生成:

Get-Project -All | 附加BindingRedirect

根据NuGet文档 Add-BindingRedirect应检查项目输出路径.我假设这意味着bin文件夹.

但清洁和重建后Get-Project -All | Add-BindingRedirect仍然会产生相同的重定向app.config.

NuGet在哪里Get-Project -All | Add-BindingRedirect获得版本号?

这些不正确的NuGet包版本可能来自何处?

Aks*_*eda -1

看看这篇文章

从 Visual Studio 2013 开始,面向 .NET Framework 4.5.1 的新桌面应用程序使用自动绑定重定向。这意味着,如果两个组件引用同一强名称程序集的不同版本,则运行时会自动在输出应用配置 (app.config) 文件中添加到该程序集较新版本的绑定重定向。此重定向会覆盖否则可能发生的程序集统一。源 app.config 文件未修改。例如,假设您的应用程序直接引用带外 .NET Framework 组件,但使用面向同一组件旧版本的第三方库。编译应用程序时,输出应用程序配置文件将被修改以包含到较新版本组件的绑定重定向。如果您创建 Web 应用程序,您会收到有关绑定冲突的构建警告,这反过来又为您提供了将必要的绑定重定向添加到源 Web 配置文件的选项。

来源:点击此处阅读有关绑定信息的更多信息