如何在编译时找到导入的程序集的版本(在运行时不以编程方式)?

时间:2017-01-08 19:57:06

标签: c# .net msbuild

假设我们有两个不同版本的ClassLibrary.dll不兼容。我的意思是版本1中可能存在一些在版本2中不推荐使用的类和方法,以及版本2中的一些新功能。 有没有办法在编译时检测导入的程序集的版本?例如:

<DefineConstants Condition=" ClassLibrary.Version == '2' ">RUNNING_ON_V2</DefineConstants>

因此,我可以在我的代码中使用RUNNING_ON_V2,如下所示:

#if (RUNNING_ON_V2)  
        Console.WriteLine("Using v2");
        ClassLibrary.NewMethod();  
#else
        Console.WriteLine("Using v1");
        ClassLibrary.DeprecatedMethod();
#endif  

更新

根据这个question,我们可以在运行时检测到程序集的版本,但我需要在编译时检测导入程序集的版本

在我看来,可以MSBUILDApp.config

0 个答案:

没有答案
相关问题