bindingRedirect 不断切换回来

bindingRedirect keeps switching back

在我的网络项目中,我有一个 <dependentAssembly> 元素和一个 <bindingRedirect> 元素。它的属性是一个带有范围的 oldVersion 和一个 newVersion.

我正在将新版本更改为与我添加到项目引用中的程序集相同。当我重建解决方案时,它变回原来的值。

为什么会发生这种情况,我该如何阻止它。

对于那些想要细节的人,当前元素是:

<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0"/>

我想要的是:

<bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="2017.8.3.7"/>

根据此页面,newVersion 值不必在 oldVersion 中指定的范围内:

https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/redirect-assembly-versions

原来我在输出中遗漏了这条消息 window:

1>------ Rebuild All started: Project: IOService, Configuration: Debug Any CPU ------
1>  Comparing two files: "C:\git\IOService\Source\IOService\web.config.Debug" with "C:\git\IOService\Source\IOService\web.config"
1>  Comparing files C:\GIT\IOSERVICE\SOURCE\IOSERVICE\Web.config.debug and C:\GIT\IOSERVICE\SOURCE\IOSERVICE\WEB.CONFIG
1>  ***** C:\GIT\IOSERVICE\SOURCE\IOSERVICE\Web.config.debug
1>  <?xml version="1.0"?>
1>  <configuration>
1>  ***** C:\GIT\IOSERVICE\SOURCE\IOSERVICE\WEB.CONFIG
1>  ´╗┐<?xml version="1.0"?>
1>  <configuration>
1>  *****
1>  
1>  Files are not the same.  Copying "C:\git\IOService\Source\IOService\web.config.Debug" over "C:\git\IOService\Source\IOService\web.config"

所以事实证明 VS 实际上用 .debug 版本覆盖了我的主要 web.config,因为它不匹配。