2011-12-28 77 views
6

我們有一個包含17個項目的解決方案。 解決方案有幾種配置,如調試,發佈,測試,發佈等。爲什麼不可開發?

另外團隊項目有幾個構建定義,每個構建定義都專門用於配置。 我們使用發佈配置構建夜間構建和發佈配置構建發佈和部署。 因此,這些構建定義,建立相同的源代碼。但有一個問題...

我們每晚的構建爲每個項目創建obj \ Release目錄,但發佈構建不。 由於此發佈版本不會創建服務器發佈包。

當我查看構建日誌時,我看到了下面的差異。 每晚構建 - Release配置(每個項目)

PrepareForBuild: 
    Creating directory "obj\Release\". 

發佈的構建 - 發佈配置(每個項目)

_DeploymentUnpublishable: 
    Skipping unpublishable project. 

但我不明白爲什麼? 哪個標誌控制着這個?

我們使用TFS 2010,所以團隊建設2010

+0

閱讀圍繞「不可發佈」消息的日誌文件的其餘部分,看看它是否告訴您爲什麼該項目是不可發佈的。此外,也許將日誌記錄級別設置爲「詳細」獲取更多詳細信息。 – 2011-12-28 08:40:18

回答

7

嘗試添加以下部署設置的屬性組內的項目文件創建配置要發佈:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    ... 
    <FilesToIncludeForPublish>OnlyFilesToRunTheApp</FilesToIncludeForPublish> 
    <DeployOnBuild>true</DeployOnBuild> 
    <DeployTarget>Package</DeployTarget> 
    <PackageAsSingleFile>true</PackageAsSingleFile> 
</PropertyGroup> 

我在Web項目的CI構建中出現類似的錯誤。將部署設置添加到web.csproj文件中對其進行了更正。