我們使用MSDeploy將ASP.NET Web Api部署到Web服務器。它從TeamCity啓動,它有一個構建代碼並部署它的MSBuild步驟。
MsBuild僅在我們的Web API項目上運行(讓我們稱之爲WA),而不是整個解決方案。我不知道這是否相關。我認爲這不是 - 看看爲什麼降低。
我們的API生成Swagger文檔。問題是 - Swagger無法找到WA所依賴的其中一個項目(讓它稱爲B)的XML文檔。
當我在開發機器上構建解決方案時,Swagger可以正常工作,沒有錯誤。問題僅出現在我們從TeamCity部署到測試環境時。
我調查了一下,發現在構建期間生成了缺少的文件,但是MsDeploy不會打包並將其結束。這就是爲什麼我認爲MsBuild項目vs解決方案在這裏不是問題。
我做的第一件事是爲項目B和WA的每個配置添加<DocumentationFile>
節點。這沒有多大幫助。
以下是我們在TeamCity上使用的MsBuild參數: /property:Platform=AnyCPU /property:DeployOnBuild=True /property:DeployTarget=MSDeployPublish /property:CreatePackageOnPublish=True /property:AllowUntrustedCertificate=True /property:MSDeployPublishMethod=WMSvc /property:SkipExtraFilesOnServer=False /property:DeployIisAppPath=OurApiName
。他們相當標準。
我們還通過系統屬性 - 配置,用戶名,密碼,MsDeployServiceUrl提供了一些其他參數。
我嘗試過this solution,但問題仍然存在。MsDeploy將不打包和部署XML文件的項目,然後運行MSBuild
0
A
回答
0
如果其他人打這個 - 我通過修改我的.csproj文件according to this article解決了這個問題。
最初無法讓它工作,但後來我嘗試了所有可以想到的路徑組合,以及其中一種工作方式。小心斜線
相關問題
- 1. 打破MsBuild包和部署到單獨的MsBuild和MsDeploy命令
- 2. VS2010 msbuild msdeploy部署包不執行web.config轉換
- 3. Web部署項目/ MSBuild - TempBuildDir
- 4. MSBuild:如何爲Web部署項目(VS2010)構建Web部署包?
- 5. 將MSBuild項目部署到配置轉換後的本地文件夾
- 6. 部署Web包與MSDEPLOY
- 7. 奇怪PackageTmp時msdeploy在asp.net mvc的項目創建部署包
- 8. MSBuild 4和MSDeploy命令行
- 9. 部署和運行Java EE項目
- 10. 的MSBuild建立和創建部署包
- 11. 使用msbuild部署BizTalk 2009項目
- 12. Debian打包:將文件部署到用戶主目錄
- 13. MSBuild文件VS SLN和項目文件
- 14. MSBuild和Web部署項目外部依賴關係
- 15. VSTO部署文件將無法運行
- 16. msdeploy/Web部署工具部署太多文件
- 17. 能MSBuild的包,並通過MSDeploy在一個命令部署到IIS 6?
- 18. 的MSBuild的Web API項目不創建一個可部署的包
- 19. msbuild不支持的部署項目:我的選擇是什麼?
- 20. 用於msbuild EXE項目的構建和部署自動化
- 21. 配置TeamCity MSBuild和MSDeploy
- 22. 使用MSDeploy的竹部署
- 23. Eclipse C++項目 - 運行不同目標的外部make文件
- 24. 將外部項目文件打包爲資源jar(SBT)
- 25. 將XML文件保存到正在運行的Android項目
- 26. TFS MsBuild和Web部署項目隨機失敗
- 27. TFS構建 - 部署/包的目標不運行
- 28. 運行MSBuild,尊重卸載的項目
- 29. SQL Server數據庫項目部署前和部署後腳本
- 30. msbuild部署 - 只刪除包中的文件夾