我用一个解决方案,我在这个问题上找到定制我的项目:点击一次发布addtional文件停止使用VS 2012
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的所有问题并不需要那么多的关注? – 2013-02-16 11:49:10
很高兴我发现了这篇文章 - 我正要实现这种方法 - http://blogs.msdn.com/b/mwade/archive/2008/06/29/how-to-publish-files-which-are-not -in-the-project.aspx – tofutim 2014-01-16 05:58:39
@tofutim你是如何得到这个工作的,这个解决方案对我来说不适用于MsBuild。 – 2016-02-02 17:48:30