我使用在这个问题中找到的解决方案定制了我的项目:
为什么 Visual Studio 中的 ClickOnce 不从依赖程序集中部署内容文件?
<ItemGroup>
<AdditionalPublishFile Include="$(OutputPath)\**\*.rpt">
<Visible>False</Visible>
</AdditionalPublishFile>
</ItemGroup>
<Target Name="BeforePublish">
<Touch Files="@(IntermediateAssembly)" />
<CreateItem Include="@(AdditionalPublishFile)" AdditionalMetadata="TargetPath=%(RecursiveDir)%(Filename)%(extension);IsDataFile=false">
<Output TaskParameter="Include" ItemName="_DeploymentManifestFiles" />
</CreateItem>
</Target>
它在 VS 2010 上运行良好,直到我升级到 VS 2012,附加文件不包含在应用程序清单中!因此,当用户安装应用程序时,应用程序主文件夹中缺少提到的文件。
VS 2012 发生了什么变化?或者也许更改在 MSBuild 中?
编辑:
我提到了我从哪里得到这个想法的原始问题,基本上我正在使用依赖注入来加载一些程序集,这意味着我的项目和程序集之间没有硬引用,所以单击一次部署不会考虑那些程序集,这迫使我要么将它们添加到项目中,要么使用提到的解决方案,我选择了提到的解决方案,因为它是不可见且简单的。
但在迁移到 VS 2012 后它被破坏了。