我用一個解決方案,我在這個問題上找到定製我的項目:點擊一次發佈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