我有一个项目,通过他们的 API 为另一个应用程序添加了一些可扩展性。但是,我希望能够将同一个项目用于其应用程序的多个版本,因为大部分代码都是相同的。

但是,应用程序的每个版本都需要引用该软件版本的正确程序集。他们将他们的程序集加载到 GAC 中,因此即使我可以根据构建配置指定要使用的程序集版本,我也可以。有没有办法从 VS 内部执行此操作,或者我是否需要外部构建工具?

最佳答案

有一种方法可以做到这一点,但您必须手动编辑您的项目文件。项目文件可以在许多元素中应用 Condition 属性,包括用于引用的元素。

您可以将这些添加到您的引用中以指定何时应该使用引用:

<Reference Include="Product, Version=1.0.0.0" Condition="'$(Configuration)'=='V1'">
</Reference>
<Reference Include="Product, Version=2.0.0.0" Condition="'$(Configuration)'=='V2'">
</Reference>
<Reference Include="Product, Version=3.0.0.0" Condition="'$(Configuration)'=='V3'">
</Reference>

然后定义几个构建配置( V1V2V3 ),并且每个引用将仅包含在相关的所选构建配置中。

将此与代码中的条件编译符号和 #if 语句结合使用,您应该能够做您想做的事。

如果您这样做,需要注意的一点是很容易让 Visual Studio 从项目文件中删除条件属性。

关于visual-studio - 有没有办法根据 Visual Studio 中的构建配置指定程序集引用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1786917/

10-14 11:05
查看更多