使用Clickonce的Vsto插件部署不包括辅助参考

时间:2014-03-11 10:51:55

标签: visual-studio-2008 vsto clickonce office-addins

我正在使用Visual Studio 2008中的Word 2007插件.addin项目在同一解决方案中引用了几个库项目。现在,对于属于addin项目的内容文件,我可以将“Build action”属性设置为“Content”和“Copy to output directory”为true,并且Clickonce与addin dll一起成功部署它们。但是,这不适用于addin项目引用的项目中包含的内容文件。我搜索了SO,显然我应该转到addin项目设置,切换到“Publish”选项卡,然后在“Application Files”对话框中添加所需的文件(reference)。问题是,我的addin项目的Publish选项卡上没有“Application files”对话框(我正在使用MSVS 2008)。我在这里错过了什么?简而言之,如何使用Clickonce从引用​​的项目部署内容文件?

1 个答案:

答案 0 :(得分:1)

我在Visual Studio 2010中遇到了与辅助依赖关系和ClickOnce for VSTO类似的问题。

我修改了Visual Studio项目文件,以便为ClickOnce文件使用自定义ItemGroup,并在PublishOnly目标之后手动复制该组中的文件。

 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

   <ItemGroup Label="Installer Files">
     <ClickOnce Include="lib\**">
       <InProject>false</InProject>
       <Visible>false</Visible>
     </ClickOnce>
   </ItemGroup>

   <Target Name="Package" DependsOnTargets="Build" AfterTargets="PublishOnly">

     <!-- copy the ClickOnce files to the folder setup-->
     <Copy SourceFiles="@(PublishTempFiles)" DestinationFolder="setup\%(RecursiveDir)" />

     <!-- copy the lib binaries to the ClickOnce app files -->
     <Copy SourceFiles="@(ClickOnce)" DestinationFiles="setup\$(ApplicationFilesFolderName)\$(ProjectName)_$(UnderscoredPublishVersion)\%(Filename)%(Extension).deploy" />
   </Target>
 </Project>