我正在编写一个应用程序,它通过Component Object Model
图书馆。我必须在 Visual Studio 项目本身中引用此 COM 库,以便我编写的应用程序能够正常工作。还有一个 .NET 包装器库,我必须在 Visual Studio 项目中引用它才能与 COM 库进行通信。
有没有办法创建一个条件初始化类,以便使用 .NET 包装器库中的 .NET 类中的方法,该方法将在第三方 COM 库本身的更高版本中工作。
我遇到的问题是我试图引用仅存在于更高版本中的 COM 库的功能。包装器本身的版本是相同的,因为它是向后兼容的。当我尝试访问此新功能时,当我安装了先前版本的第三方应用程序时启动我正在编写的程序时,它会默默地关闭。
有没有一种方法可以避免这种行为而不改变应用程序本身的构建方式?
不确定我是否理解术语“引用类”。
您可以对整个程序集 (DLL) 进行条件引用
<Reference
Include="LegacyServices.dll"
Condition="$(AppVersion == '2.0')" />
或有条件地将源文件包含到项目中
<Compile
Include="LegacyServices.cs"
Condition="$(AppVersion == '2.0')" />
两者都使用MSBuild条件在 csproj 文件中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)