我有一个参考,我还创建了一个组件的Visual Studio项目。 下面是该项目我的组件参照属性的屏幕截图。 当我更新我的程序集的版本1.1.0.0
,我的项目失败,我想这个属性是问题。
由于Version
属性说1.0.0.0
,这是否意味着它总是会找我的组件有一个版本的1.0.0.0
? 并增加我的版本1.1.0.0
会导致我的项目看不出大会呢?
我有一个参考,我还创建了一个组件的Visual Studio项目。 下面是该项目我的组件参照属性的屏幕截图。 当我更新我的程序集的版本1.1.0.0
,我的项目失败,我想这个属性是问题。
由于Version
属性说1.0.0.0
,这是否意味着它总是会找我的组件有一个版本的1.0.0.0
? 并增加我的版本1.1.0.0
会导致我的项目看不出大会呢?
你有2个版本的强命名程序集的。 它是由该编译哪里对这类组件的一个版本失败,不同的版本加载程序集等项目的设计行为。 其理由是该版本的变化表示API变化。 否则,这将是就地更新版本相同 - 所以旧的代码可能无法与较新的DLL正常工作。
选项:
附注:这取决于如果有问题的组件内部(你控制所有项目使用的组件)或外部消耗你可能需要做的是确保向后兼容性和适当的淘汰政策更多的工作。
出版商政策样本:从上面的文章链接:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="en-us" />
<!-- Redirecting to version 2.0.0.0 of the assembly. -->
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>