条件参考

Sec*_*und 4 .net-3.0 c#-3.0

我有一个我正在编写的应用程序,它通过Component Object Model库与第三方应用程序通信.我必须在Visual Studio项目本身中引用此COM库,以便我正在编写的应用程序工作.还有一个.NET包装器库,我必须在Visual Studio项目中引用它才能与COM库进行通信.

有没有办法创建一个类的条件初始化,以便在.NET包装器库中的.NET类中使用一个方法,该方法将在更高版本的第三方COM库本身中工作.

我遇到的问题是我试图引用COM库的一个功能,该功能仅存在于更高版本中.包装器本身的版本是相同的,因为它向后兼容.当我尝试访问这个新功能时,当我在安装第三方应用程序的先前版本时启动它时,我正在编写的程序会静默关闭.

有没有办法可以避免这种行为而不改变应用程序本身的构建方式?

sll*_*sll 14

不确定我是否理解术语"引用课程".

您可以对整个程序集(DLL)进行条件引用

<Reference 
        Include="LegacyServices.dll" 
        Condition="$(AppVersion == '2.0')" />
Run Code Online (Sandbox Code Playgroud)

或有条件地将源文件包含到项目中

<Compile 
       Include="LegacyServices.cs" 
       Condition="$(AppVersion == '2.0')" />
Run Code Online (Sandbox Code Playgroud)

两者都在csproj文件中使用MSBuild Condition.