最近, Visual Studio Tools for Office 2012 (VSTO 2012)为available for download。
此新版本是否仍可用于为旧版Office(2007,2010)开发插件解决方案?是否有任何优于VSTO 4.0(除了Office 2013支持)
答案 0 :(得分:3)
是的,它可以。我正在使用VS2012进行Excel 2007项目,它运行正常。
诀窍是更改项目文件中的调试路径,以便VS使用插件所用的旧版Office应用程序。
<ProjectProperties>
属性HostName
。它将是<VisualStudio>
元素的子元素。DebuginfoExeName
属性的<ProjectProperties>
属性值更改为旧版Office应用程序.exe文件的路径现在,当您开始调试应用时,它应启动旧版Office应用并附加到该流程以加载VSTO。
在我的项目中,新的<ProjectProperties>
元素对于Excel 2007来说是这样的:
<ProjectProperties
HostName="Excel"
HostPackage="{20A848B8-E01F-4801-962E-25DB0FF57389}" OfficeVersion="14.0"
VstxVersion="4.0"
ApplicationType="Excel"
Language="cs"
TemplatesPath=""
DebugInfoExeName="#Software\Microsoft\Office\12.0\Excel\InstallRoot\Path#excel.exe"
AddItemTemplatesGuid="{51063C3A-E220-4D12-8922-BDA915ACD783}" />
部署也很好。我通过ClickOnce部署我的加载项,并将其添加到Excel 2007客户端,而无需任何其他更改。
答案 1 :(得分:1)
据我所知,您可以将解决方案部署到以前的版本办公室。我曾经为2013年ppt开发了一个插件,它在2010年ppt上运行良好。请注意,新VSTO的API有几个附加功能,上次我只使用现有功能,而不是新功能。
我从来没有对此进行测试,但我认为如果您使用仅在2013年有效的新事件处理程序,那么当您在2010年部署它时,它什么都不做/不起作用。
正如我所提到的,新VSTO的明显优势是可用的功能更多,例如在2013年ppt中,当用户拖动它时它有事件处理程序,你应该自己检查它们。如果您的解决方案不需要这些新功能,您可以在以前版本的VSTO中进行开发,以确保向后兼容性。