我們使用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. 如何使用msdeploy而不是msbuild部署項目
- 3. MSBuild:部署未包含在項目中的文件
- 4. MSBUILD web部署包不包含項目引用DLL的
- 5. Web部署項目/ MSBuild - TempBuildDir
- 6. MSBuild:如何爲Web部署項目(VS2010)構建Web部署包?
- 7. 將MSBuild項目部署到配置轉換後的本地文件夾
- 8. 部署Web包與MSDEPLOY
- 9. 奇怪PackageTmp時msdeploy在asp.net mvc的項目創建部署包
- 10. MSDeploy - 無法使用msbuild生成的批處理文件進行部署
- 11. MSBuild 4和MSDeploy命令行
- 12. 部署和運行Java EE項目
- 13. VS2008運服務部署項目不使用XML文件的子文件夾
- 14. 使用MSDeploy進行部署
- 15. 自動部署,遠程腳本,MSBuild和MSDeploy
- 16. MsBuild和MsDeploy問題
- 17. 的MSBuild建立和創建部署包
- 18. 使用msbuild部署BizTalk 2009項目
- 19. Debian打包:將文件部署到用戶主目錄
- 20. MSBuild文件VS SLN和項目文件
- 21. MSBuild和Web部署項目外部依賴關係
- 22. VSTO部署文件將無法運行
- 23. 能MSBuild的包,並通過MSDeploy在一個命令部署到IIS 6?
- 24. 的MSBuild的Web API項目不創建一個可部署的包
- 25. msdeploy/Web部署工具部署太多文件
- 26. 如何在單個MSBuild命令中部署多個MSDeploy發佈配置文件?
- 27. 用於msbuild EXE項目的構建和部署自動化
- 28. msbuild不支持的部署項目:我的選擇是什麼?
- 29. 配置TeamCity MSBuild和MSDeploy
- 30. 如何創建MSBuild目標文件來部署文件?