为什么VSTO加载项项目需要迁移?

时间:2016-01-15 14:05:37

标签: visual-studio visual-studio-2015 vsto

我正在使用Visual Studio 2015.我的计算机上安装了Office 2003和2010。

我创建了一个Word 2010 VSTO加载项。我尝试在Word 2010上构建它并进行调试,它运行正常。

然后我关闭了Visual Studio,并打开了它,并用我的VSTO项目打开了一个解决方案 - 但是如果没有单向升级我就无法打开它。它需要迁移。

如果我同意单向升级我的项目构建正常,但我无法调试:

  

您无法调试或运行此项目,因为未安装所需的Microsoft Office应用程序版本

在csproj文件中我可以看到它确实需要错误版本的Office(OfficeVersion应该是14.0 for Office 2010):

<ProjectExtensions>
<VisualStudio>
  <FlavorProperties GUID="{BAA0C2D2-18E2-41B9-852F-F413020CAA33}">
    <ProjectProperties HostName="Word" HostPackage="{29A7B9D7-A7F1-4328-8EF0-6B2D1A56B2C1}" OfficeVersion="15.0" VstxVersion="4.0" ApplicationType="Word" Language="cs" TemplatesPath="VSTOTemplates" DebugInfoExeName="#Software\Microsoft\Office\15.0\Word\InstallRoot\Path#WINWORD.EXE" DebugInfoCommandLine="/w" AddItemTemplatesGuid="{51063C3A-E220-4D12-8922-BDA915ACD783}" />
    <Host Name="Word" GeneratedCodeNamespace="WKP_EditorTools" IconIndex="0">
      <HostItem Name="ThisAddIn" Code="ThisAddIn.cs" CanonicalName="AddIn" CanActivate="false" IconIndex="1" Blueprint="ThisAddIn.Designer.xml" GeneratedCode="ThisAddIn.Designer.cs" />
    </Host>
  </FlavorProperties>
</VisualStudio>

但是当我将其更改为14.0并重新打开时,它需要再次迁移!

这里发生了什么?我应该降级到Visual Studio 2010吗?

2 个答案:

答案 0 :(得分:2)

无需再安装Visual Studios。我个人使用2010年至2015年的任何版本的VS为Office 2007,2010和2013(以及现在的2016)制作插件。您只需稍微设置一下您的项目。属性OfficeVersion =&#34; 15.0&#34;对你没什么影响(实际上,我不确定它会改变什么),但属性

  

DebugInfoExeName =&#34; #Software \微软\办公室\的 15.0 \字\ InstallRoot \路径#WINWORD.EXE

定义了您用于调试的Word版本。您可以将路径更改为所需路径。

如果稍后您将安装更多版本的MS Office(我相信您需要,因为您还可以测试兼容性),您可以通过设置轻松切换Office的启动版本

  

项目属性 - &gt;调试 - &gt;启动外部程序 - C:\ Program Files(x86)\ Microsoft Office \ Office14 \ WINWORD.EXE(或其他有效路径)

此外,您的项目有一些互操作引用。使用哪个版本并没有什么大的区别,它们具有几乎相同的功能,但我建议使用你拥有的最新版本(我认为当你选择单向升级时,Visual Studio已经升级了它)。 / p>

因此,毕竟,您只有两个版本的Office的模板,但您可以设置它们以满足您的需求。

答案 1 :(得分:0)

一般情况下,Visual Studio中的Office系统模板(VSTO)的Visual Studio工具仅在Visual Studio发布时支持最后两个当前版本的office。

Visual Studio 2010:Office 2007(&#34; Office 12&#34;),Office 2010(&#34; Office 14&#34;),Visual Studio 2012:Office 2010,Office 2013(&#34; Office 15&#34;),Visual Studio 2013:Office 2010,Office 2013. Visual Studio 2015目前在Office 2013和Office 2016上。

但是,您无需降级到Visual Studio 2010,您可以并排安装Visual Studio版本。我将Visual Studio 2010,2012,2013和2015全部安装在一台计算机上。

请注意,可以手动将Office PIA引用更改为更高版本的Office版本,但由于您未在项目中升级VSTO管道,因此模板设计的VSTO版本与Office之间将不匹配您定位的版本。这可能会在以后破坏您的项目。

如果你想要使用VSTO工具,建议避免使用VSTO模板,只需从一个空白项目开始,然后添加要在应用程序中寻址的Office引用。通过这样做,您可以随时将引用切换到其他Office版本,如果您想要定位不同的版本。