我在.net中创建了实用程序,它执行一些SQL数据操作。
我目前正在构建应用程序,并参考以下版本10.0.0.0
的dll如果我从具有SQLNCLI10的OS Windows 2008运行此应用程序,它可以正常工作 如果我从具有包含SQL客户端SQLNCLI11的Windows 2012的操作系统运行此应用程序,则它不起作用。它需要参考上面所有版本为11.0.0.0的dll
在app.config中有什么办法可以有条件地引用dll吗?
有没有其他方法可以解决这个问题,所以我只能有一个可以运行上述环境的应用程序(SQLNCLI10和SQLNCLI11)。否则,我将不得不创建两个使用相应dll版本编译的独立应用程序。
答案 0 :(得分:0)
例如,以下assemblyIdentity
和bindingRedirect将Microsoft.Windows.SampleAssembly
的依赖关系从版本2.0.0.0重新配置为版本2.1.0.0。
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.SampleAssembly"
processorArchitecture="x86"
publicKeyToken="0000000000000000"/>
<bindingRedirect oldVersion="2.0.0.0" newVersion="2.1.0.0"/>
</dependentAssembly>
</dependency>