如何使用 VS 2012 创建 (VSTO) Office 2007 加载项?
Posted
技术标签:
【中文标题】如何使用 VS 2012 创建 (VSTO) Office 2007 加载项?【英文标题】:How can I create a (VSTO) Office 2007 add-in using VS 2012? 【发布时间】:2012-08-29 21:53:45 【问题描述】:Visual Studio 2012 似乎不支持 Office 2007(它只有 Office 2010 的项目模板)。如果我想创建与 Office 2007 兼容的加载项,是否需要使用 Visual Studio 2010,或者是否有简单的方法可以使用 VS 2012?
如果在 VS 2012 中有 一种方法,这样做是否有任何限制/优势等?
【问题讨论】:
【参考方案1】:您可以让 VS 2012 与 Office 2007 一起使用。首先创建一个Outlook 2010 加载项并修改项目文件(.csproj),使其在 Office 2007 中打开,运行时不查找 Office 2010。
这是项目设置更改(Outlook 示例):
源 XPath:
//Project/ProjectExtensions/VisualStudio/FlavorProperties/ProjectProperties/@DebugInfoExeName
旧值(Office 2010):
DebugInfoExeName="#Software\Microsoft\Office\14.0\Outlook\InstallRoot\Path#outlook.exe"
新价值(Office 2007):
DebugInfoExeName="#Software\Microsoft\Office\12.0\Outlook\InstallRoot \Path#outlook.exe"
更改此项目设置后,当您启动调试器 (F5) 时,它将加载 Outlook 2007 应用程序,而不是查找 Outlook 2010。
使用 VS 2012 进行 Office 开发的主要缺点之一是 deployment is now using InstallShield LE instead of Visual Studio Setup Projects。这是一个重大转变,但似乎MS is moving away from supporting native installers and letting others manage this burden。 WiX is an alternative installer,但我还没有尝试过。 WiX (Windows Installer XML) 仍然缺少 InstallShield LE 或 VS 2010 安装项目提供的 UI。
使用 VS 2012 进行开发的唯一优势是开发 IDE 速度更快。
【讨论】:
最近我们切换了我们所有的VDProj to WiX using add-in expresses converter 以获得对 VS 2012 的支持。 Add-Inn Express 现在也有一个WiX UI Designer - 看起来非常类似于 VS.NET 的 VDProj 体验。根据我的经验,Add-In Express 支持擅长解决我们在转换过程中遇到的任何问题。如果您已经在使用 VDProj,我建议您使用转换器路径。如果您不使用 VDProj,那么 WiX 的学习曲线会很陡峭,但在支持 bundling x86/x64 within the same package 的情况下,它的功能要强大得多。 Wix 与为办公插件构建 .msi 不兼容(至少不是开箱即用的)。在他们的错误列表中查看此问题:wixtoolset.org/issues/4337 @ecoe - 与 WiX 的兼容性问题似乎已通过 VS 2013 Update 3 修复 - 请参阅列表中的问题 #3。 我注意到我的 .csproj 文件中有几 (3) 个其他“14.0”引用;他们都需要更改为“12.0”吗?...不,只需更改一个实例即可解决。 不只是改变开发机器上的调试应用程序,还是它也导致插件(安装在客户端机器上)打开客户端机器上的旧办公室?以上是关于如何使用 VS 2012 创建 (VSTO) Office 2007 加载项?的主要内容,如果未能解决你的问题,请参考以下文章