在构建时更改引用DLL

时间:2017-04-24 07:37:18

标签: c# visual-studio reference build-process

我有一个创建自定义SSIS任务的项目。每个版本的SQL Server都需要不同的DTS Dll引用。

  

Sql 2008 - 100
Sql 2012 - 110
Sql 2014 - 120
....

为了构建我的应用程序以支持SQL服务器的不同版本,代码需要稍微不同,因为我将使用Predecessor directives

我还没弄清楚如何在构建不同版本时更改引用的Dll。

是否可以在构建时更改参考dll?如果是这样的话?

注意:目前我们有一个构建脚本,复制项目做了一堆花哨的字符串替换并更改了引用。这确实有效但我个人觉得很难看。

2 个答案:

答案 0 :(得分:0)

不确定这是否有效,但请试一试:

  • 本地复制所有版本的MS SQL服务器所需的所有依赖项。在运行时解析版本并加载相应的dll,或

  • 创建一个构建时变量,用于定义因变量的版本。添加对一个库的引用,例如,2008。手动编辑C#项目文件,并使用构建时变量替换对2008的引用。现在,通过更改构建时变量,您将能够控制使用哪个库。

答案 1 :(得分:0)

如果代码需要“不同”,那么您可以将应用程序链接到所有不同的库。最后,只有在方法(或具有某些字段的类)需要时,.NET才会加载程序集。