在我的网络项目中,我有一个<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
答案 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,因为它不匹配。