首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在多台开发计算机上打开引用"MS-Office对象库“的项目

在多台开发计算机上打开引用"MS-Office对象库“的项目
EN

Stack Overflow用户
提问于 2018-06-02 07:19:13
回答 1查看 987关注 0票数 5

我使用两台计算机,一台安装了Office 2010,另一台安装了Office 2016。第一个是我的主PC。

假设我在主PC上启动了一个项目。如果我添加了对以下任何内容的引用:

  • Microsoft.Office.Interop.Word (Microsoft Word 14.0 Object Library).
  • Microsoft.Office.Interop.PowerPoint (Microsoft Excel 14.0 Object Library).
  • Microsoft.Office.Interop.PowerPoint (Microsoft PowerPoint 14.0对象库)。

..and然后在第二台PC上打开项目,Visual Studio将自动为它们选择适用的版本(即"Microsoft 16.0 Object Library"),因为"Embed Interop Type“属性被设置为true。

到目前为止还不错,但是当我添加一个对Microsoft.Office.Core (Microsoft Office14.0对象库)的引用时,我无法获得相同的行为,即,当我在第二台PC上打开项目时,我发现具有相同版本( 14.0 )的引用被标记了一个图标,指示该引用缺失,同时还有警告告诉我相同的事情(找不到该引用)。

显然,如果我删除引用并将其替换为较新的版本(16.0),除了-of课程-我将不能再在主PC上打开解决方案-其他一切都可以正常工作。

所以,我的问题是:

  • 为什么不为Microsoft.Office.Core选择合适的版本,就像Interop.ExcelInterop.Word等一样?
  • 是否有解决此问题的解决方案,以便我可以在两台计算机之间无缝打开项目?

请注意:

Office的主要关注点不是最终用户使用不同版本的运行应用程序(这一点以前已经问过很多次,也回答过很多次)。我更关心的是在具有不同版本的Office (这是一个WinForms application. )的辅助开发计算机上打开解决方案/项目

更新:

  • 我尝试将MSO.DLL文件复制到本地'lib‘文件夹,但每当我将其作为引用添加时,它都会显示"C:\Windows\assembly\GAC_MSIL\Office\14.0.0.0__71e9bce111e9429c\Office.dll"作为引用的路径。然后,无论我是否禁用/启用Embed Interop Types属性,它仍然不能在二次开发machine.
  • Although上编译我不太确定我完全得到了Eugene's answer,它给了我在程序集选项卡中添加Embed Interop Types引用的想法,而不是COM选项卡,并且仍然将Embed Interop Type属性设置为true。实际上似乎可以工作,但我不确定如果不使用COM引用可能会有任何缺点。是吗?
EN

回答 1

Stack Overflow用户

发布于 2018-06-02 09:26:30

您需要将互操作程序集(Microsoft Word/Excel/PowerPoint/Core 14.0对象库)复制到解决方案中的本地文件夹。然后,您可以将它们添加为引用,以便可以在两台计算机上访问它们,并且您将能够在两台计算机之间无缝地打开项目。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50652055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档