假设我们有两个不同版本的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,我们可以在运行时检测到程序集的版本,但我需要在编译时检测导入程序集的版本 的
在我看来,可以MSBUILD
或App.config
。