构建时更改引用DLL
问题描述:
我有一个创建自定义SSIS任务的项目。每个版本的SQL Server都需要不同的DTS Dll参考。构建时更改引用DLL
SQL 2008 - 100
的Sql 2012 - 110
的Sql 2014 - 120
....
对于我建立我的应用程序以支持SQL服务器有多种不同版本的代码需要略有不同,因为我不会使用Predecessor directives
我没有想到如何做的是如何改变引用时,我建立不同版本的Dll。
是否可以在构建时更改引用dll?如果是这样如何?
注意:目前我们有一个构建脚本,该脚本复制了一些花哨的字符串替换并更改引用的项目。这确实有用,但我个人觉得它很丑陋。
答
不知道这是否会工作,但搏一搏:
本地拷贝所有需要的依赖于MS SQL Server的所有版本。在运行时解析版本并加载相应的dll,或者
创建一个构建时间变量,该变量定义了因变量的版本。添加对一个库的引用,例如2008年。手动编辑C#项目文件,并将引用替换为2008年的构建时变量。现在通过更改构建时间变量,您将能够控制使用哪个库。
答
如果代码需要“不同”,那么你可以将你的应用程序链接到所有不同的库。最后,.NET只会在方法需要时(或者有一些字段的类)加载程序集。
ohhh这听起来像一个有趣的想法。 – DaImTo