如何在Visual Studio 2013中注册PIA12(Office 2007)程序集

时间:2013-12-12 13:49:50

标签: visual-studio-2013 office-2007 office-pia

我在Windows 8.1上安装了Office 2013和VS2013 - 当我现在打开引用版本12 PIA(适用于Office 2007)的旧项目时,这些在引用中缺失,因为VS2013只安装了版本14和15的PIA。 / p>

由于我想继续使用PIA 12,我不想更改引用。相反,我想将版本12 PIA注册到VS2013。我怎样才能做到这一点?

我已经尝试过使用PIA可再发行组件,但它不想工作,除非我也安装Office 2007(我不想要)。我可以从其他系统获得dll的副本,但是我如何在Visual Studio 2013中注册这些dll(我认为,在VS2013中我不需要它们。)

据我所知,PIA应该记录一些COM类ID,我只是不知道如何/哪个。

修改

现在,PIA dll仅通过名称和指纹/公钥(没有提示路径)引用。当我在VS2013中打开参考面板时它们会显示,可以选择并工作。它们似乎在某处注册,所以VS2013可以找到它们。我只是想在其他计算机上复制它。

1 个答案:

答案 0 :(得分:4)

我有完全相同的设置,安装了Windows 8.1并且只安装了Office 2013的计算机。安装Office 2007 PIA没有任何麻烦。请注意,这是一个两步过程。从Microsoft服务器下载PrimaryInteropAssembly.exe并启动它后,系统会提示您指定一个目录来存储中间文件。导航到该目录,右键单击o2007pia.msi文件,然后选择安装以实际注册它们。

这不是让它们进入您机器的唯一方法。如果您安装了另一台安装了PIA的计算机,则创建一个虚拟项目并将引用添加到您需要的Microsoft.Interop程序集中。选择它们并确保“嵌入互操作类型”属性设置为False,并将“复制本地”属性设置为True。构建项目,您将获得bin \ Debug目录中的互操作程序集。将它们复制到您的计算机并使用“浏览”按钮添加对它们的引用。您始终希望在实际项目中将“嵌入互操作类型”属性设置为True,这样您就不必再在用户的计算机上部署PIA。与您的项目一起检查它们,这样您就不会再丢失它们。


更新:自.NET 4.0和VS2010以来,PIA已经过时了。查看this post了解详细信息。