bindingRedirect继续切换回来

时间:2017-10-03 15:49:24

标签: assembly-binding-redirect

在我的网络项目中,我有一个<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

1 个答案:

答案 0 :(得分:0)

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

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,因为它不匹配。