我已經在Team Services上創建了VS構建定義。當我排隊時,構建會成功運行,並且除了我使用Web Api2創建的服務層之外,還會爲解決方案中的所有項目輸出dlls。在Visual Studio Team Services中構建不發佈Web API項目(VS Online)
當我從放置位置下載工件時,我有夾持數據層,業務層和其他幫助程序項目的dll的文件夾。我沒有的是我可以部署到我的IIS的主要服務層dll。
這是我的發佈設置的屏幕截圖。
什麼可能我會丟失?
我已經在Team Services上創建了VS構建定義。當我排隊時,構建會成功運行,並且除了我使用Web Api2創建的服務層之外,還會爲解決方案中的所有項目輸出dlls。在Visual Studio Team Services中構建不發佈Web API項目(VS Online)
當我從放置位置下載工件時,我有夾持數據層,業務層和其他幫助程序項目的dll的文件夾。我沒有的是我可以部署到我的IIS的主要服務層dll。
這是我的發佈設置的屏幕截圖。
什麼可能我會丟失?
看來你正在使用的構建定義的默認設置。通過這些設置,「複製文件」任務的內容是「** \ bin \ $(BuildConfiguration)**」,而web api項目沒有buildconfiguration文件夾。所以它找不到web api項目的文件。要複製這些文件,添加一個「複製文件」任務,併爲以下配置設置:
如果你想項目的部署文件,你需要設置你建立的定義如下:
Visual Studio Build
添加參數/p:DeployOnBuild=true;OutDir="$(build.artifactstagingdirectory)"
步驟。Copy Files
一步。$(build.artifactstagingdirectory)\\_PublishedWebsites
爲Publish Build Artifacts
步驟。然後你應該得到drop文件夾中的部署文件。
謝謝。這似乎並不像發佈操作那樣複製文件。我期待global.asax和web.config文件與bin文件夾一起存在。當我右鍵單擊該項目並使用發佈選項時,它會複製運行該服務所需的所有文件,即bin文件夾和global.asax&web.config。 – user20358
此外,複製文件的步驟似乎仍然是從其他項目複製dll。我期待只發布與服務相關的文件和bin文件夾。有什麼辦法可以控制嗎?稍後當我添加一個MVC項目時,我需要採取哪些其他步驟? – user20358
謝謝。這工作。但是,如果我在解決方案中有多個服務項目和一個mvc項目,這個解決方案是否也可以工作? – user20358