针对较高版本的程序集进行编译,但绑定重定向到 app.config 中的较低版本
Compiling against a higher version of assemblies but binding redirect to lower versions in app.config
我正在针对版本为 2.0.0.0
.
的第三方强命名程序集 (thirdparty.dll
) 编译我的 DLL
但是,当我将我的 DLL 和 exe 发送到客户的机器时,我想发送 thirdparty.dll
版本 1.0.0.0
(不要问为什么,我有这样做的理由)。
这可能吗?我的理解是可以,只要我specify the dependentAssembly
tag这样
<dependentAssembly>
<assemblyIdentity name="thirdparty" culture="neutral" publicKeyToken="3d67ed1f87d44c89"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="1.0.0.0"/>
</dependentAssembly>
因为 newVersion
,
This value can specify an earlier version than oldVersion.
代码可以运行,除非出现任何编译问题when/if我针对 thirdparty.dll
版本 1.0.0.0
.
编译代码
我的理解正确吗?
回答我自己的问题:是的,这是正确的。
EG:
<dependentAssembly>
<assemblyIdentity name="thirdparty" culture="neutral" publicKeyToken="3d67ed1f87d44c89"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="1.0.0.0"/>
</dependentAssembly>
将工作(0.0.0.0
和 2.0.0.0
之间的所有版本将被重定向到 1.0.0.0
),因此:
<dependentAssembly>
<assemblyIdentity name="thirdparty" culture="neutral" publicKeyToken="3d67ed1f87d44c89"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
0.0.0.0
和 2.0.0.0
之间的所有版本将被重定向到 4.0.0.0
我正在针对版本为 2.0.0.0
.
thirdparty.dll
) 编译我的 DLL
但是,当我将我的 DLL 和 exe 发送到客户的机器时,我想发送 thirdparty.dll
版本 1.0.0.0
(不要问为什么,我有这样做的理由)。
这可能吗?我的理解是可以,只要我specify the dependentAssembly
tag这样
<dependentAssembly>
<assemblyIdentity name="thirdparty" culture="neutral" publicKeyToken="3d67ed1f87d44c89"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="1.0.0.0"/>
</dependentAssembly>
因为 newVersion
,
This value can specify an earlier version than oldVersion.
代码可以运行,除非出现任何编译问题when/if我针对 thirdparty.dll
版本 1.0.0.0
.
我的理解正确吗?
回答我自己的问题:是的,这是正确的。
EG:
<dependentAssembly>
<assemblyIdentity name="thirdparty" culture="neutral" publicKeyToken="3d67ed1f87d44c89"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="1.0.0.0"/>
</dependentAssembly>
将工作(0.0.0.0
和 2.0.0.0
之间的所有版本将被重定向到 1.0.0.0
),因此:
<dependentAssembly>
<assemblyIdentity name="thirdparty" culture="neutral" publicKeyToken="3d67ed1f87d44c89"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
0.0.0.0
和 2.0.0.0
之间的所有版本将被重定向到 4.0.0.0