微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 动态添加引用到我的项目

我正在为Microsoft Word开发一个加载项.
在我的加载项中我使用文件“Microsoft.Office.Interop.Word.dll”的引用,所以我可以使用单词对象.

如果开发机器安装了word 2007,则要包含在引用中的文件是版本12
如果安装了单词2010,则该文件应为版本14.

无论机器上安装了哪个版本的Word(换句话说告诉我的应用程序自动检测安装了哪个版本的办公室并自动使用相应的互操作文件),我如何构建我的添加并使其工作?

解决方法

如果您的实际代码引用了给定程序集中的项目,则尝试挂钩到不同的版本实际上可能会导致错误(例如,如果某些方法签名已更改).在大多数情况下,最好的策略是生成不同的构建以针对不同的DLL版本,并在用户的机器上安装正确的构建.

您可以使用一些策略来简化这一过程,例如在一组接口中包含对此库的调用,然后有两个主要的“插件”程序集,它们提供接口的实现,但在实现它们时针对不同的DLL.该软件可以通过配置动态加载实现绑定,类似于流行的依赖注入框架的方式.这样,如果方法签名从一个版本更改为另一个版本,您只需更改一个类,其余代码仍可按原样运行.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐