我用PublishedApplications NuGet包爲好,但也遇到了一個問題。如果引用的庫有Content
標記爲Copy Always
,則所有內容都將被複制到根文件夾,而不是分層。例如,如果您有下列項目和結構(一些文件略去了):
PublishLib
test
TextFile1.txt (marked as Content/CopyAlways)
TestPublishTargetApp - references PublishLib
targets
Microsoft.Application.targets
當團隊構建完成,這是_PublishedApplications\TestPublishTargetApp
文件夾的內容:
PublishLib.dll
TestPublishTargetApp.exe
TestPublishTargetApp.exe.config
TestPublishTargetApp.pdb
TextFile1.txt
而且我的預期是:
test\TextFile1.txt
PublishLib.dll
TestPublishTargetApp.exe
TestPublishTargetApp.exe.config
TestPublishTargetApp.pdb
了一下週圍擺弄與Microsoft.Application.targets
後,我能得到通過改變最後<Copy SourceFiles
(原COMM我想要的東西ented出):
<!--<Copy SourceFiles="@(_SourceItemsToCopyToOutputDirectoryAlways)"
DestinationFolder="$(ExeProjectOutputDir)"
SkipUnchangedFiles="false"
Retries="$(CopyRetryCount)"
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"/>-->
<Copy SourceFiles="@(_SourceItemsToCopyToOutputDirectoryAlways)"
DestinationFiles = "@(_SourceItemsToCopyToOutputDirectoryAlways->'$(ExeProjectOutputDir)\%(TargetPath)')"
SkipUnchangedFiles="false"
Retries="$(CopyRetryCount)"
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"/>
我不知道這是否是其他人是有用的,但對我來說,這是本質的變化,再加上沒有改變PublishedApplications
NuGet包從2014年起(好像被遺棄的項目)。
我正在尋找的解決方案來自另一個[答](http://stackoverflow.com/a/12741336/183892)。使用金塊包創建將Web項目放入_PublishedApplications中的目標。 – John
這甚至更好。我已經更新了未來參考的答案。 – KMoraz