Asp.net web api MsDeploy不会为运行MSBuild之后的项目打包和部署XML文件

Asp.net web api MsDeploy不会为运行MSBuild之后的项目打包和部署XML文件,asp.net-web-api,msbuild,teamcity,swagger,webdeploy,Asp.net Web Api,Msbuild,Teamcity,Swagger,Webdeploy,我们使用MSDeploy将ASP.NET Web Api部署到Web服务器。它是从TeamCity启动的,TeamCity有一个MSBuild步骤来生成代码并进行部署MsBuild仅在我们的web API项目上运行(我们称之为WA),而不是在整个解决方案上运行。我不知道这是否相关。我认为这不是-看看为什么更低 我们的API生成了招摇过市的文档。问题是-Swagger找不到WA所依赖的其中一个项目(我们称之为B)的XML文档 当我在我的开发机器上构建解决方案时,Swagger工作得很好,没有错误。

我们使用MSDeploy将ASP.NET Web Api部署到Web服务器。它是从TeamCity启动的,TeamCity有一个MSBuild步骤来生成代码并进行部署
MsBuild仅在我们的web API项目上运行(我们称之为WA),而不是在整个解决方案上运行。我不知道这是否相关。我认为这不是-看看为什么更低
我们的API生成了招摇过市的文档。问题是-Swagger找不到WA所依赖的其中一个项目(我们称之为B)的XML文档
当我在我的开发机器上构建解决方案时,Swagger工作得很好,没有错误。只有当我们从TeamCity部署到测试环境时,问题才会出现
我调查发现,丢失的文件是在构建过程中生成的,但MsDeploy不会打包并将其带过来。这就是为什么我认为MsBuild on project vs solution在这里不是问题。
我做的第一件事是为项目B和WA的每个配置添加
节点。那没有多大帮助。
以下是我们在TeamCity上使用的MsBuild参数:
/property:Platform=AnyCPU
/属性:DeployOnBuild=True/property:DeployTarget=MSDeployPublish/property:CreatePackageOnPublish=True/property:AllowUntrustedCertificate=True/property:MSDeployPublishMethod=WMSvc/property:SkipExtraFilesOnServer=False
/属性:DeployIISAPPATH=OurApiName
。它们相当标准
我们还通过系统属性提供一些其他参数—配置、用户名、密码、MsDeployServiceUrl。

我确实试过了,但问题仍然存在。

如果有人碰到了这个问题,我通过修改.csproj文件解决了问题
起初无法让它工作,但后来我尝试了所有我能想到的路径组合,其中一个成功了。小心前面的斜杠