【发布时间】:2013-02-13 06:25:49
【问题描述】:
我使用在这个问题中找到的解决方案定制了我的项目:
Why doesn't ClickOnce in Visual Studio deploy content files from dependent assemblies?
<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 后它就坏了。
【问题讨论】:
-
为什么所有关于 MSBuild 的问题都没有引起那么多关注??
-
很高兴我找到了这篇文章 - 我正要实现这个方法 - blogs.msdn.com/b/mwade/archive/2008/06/29/…
-
@tofutim 你是如何让它工作的,这个解决方案对我来说不适用于 MsBuild。
-
我放弃了 ClickOnce,现在使用 InstallAware。
标签: visual-studio-2010 msbuild visual-studio-2012 clickonce publish