2014-02-12 38 views
1

我有一個解決方案,其中包含2個Windows控制檯項目,1個網站項目和20個類庫。爲特定項目定製生成構建輸出

我希望TFS 2013推送到drop文件夾只有Windows控制檯和網站項目到投遞文件夾。

我正在尋找類似於下面的文件夾結構。

DropFolder 
    - App1 
    - App2 
    - Website1 

配置TFS的最好方法是什麼?

感謝

UPDATE

我已經結束了使用NuGet包http://www.nuget.org/packages/PublishedApplications所有我想要要發佈的項目。這將項目複製到_PublishedApplications文件夾中。所以,我有這樣的

DropFolder 
    _PublishedApplications 
     - App1 
     - App2 
    _PublishedWebsites 
     - Website1 

回答

3
  • 默認的模板文件夾結構具有以下進程選項卡高級部分Solution Specific Build Outputs財產。 Solution Specific Build Outputs

  • 或者,您可以讓MSBuild控制您的構建流程。

更新:

+0

我正在尋找的解決方案來自另一個[答](http://stackoverflow.com/a/12741336/183892)。使用金塊包創建將Web項目放入_PublishedApplications中的目標。 – John

+0

這甚至更好。我已經更新了未來參考的答案。 – KMoraz

0

我用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年起(好像被遺棄的項目)。

相關問題