我有以下msbuild参数:
/m /p:DeployOnBuild=true;PublishProfile="$(PublishProfile).pubxml"
我添加了一个项目,该项目是不应部署的共享.NET Web应用程序,并且不需要发布配置文件。但是,当我的构建代理运行时,它失败了,因为我的项目没有发布配置文件。
是否有一种方法可以排除项目或以某种方式解决此问题,而不必指定要包含的单个项目?
答案 0 :(得分:1)
是否有一种方法可以排除项目或以某种方式解决此问题,而不必指定要包含的单个项目?
AFAIK,恐怕没有这样的方式或属性,我们可以排除要直接在Azure DevOps上部署的项目。
如果您不想指定要包含的单个项目。
一种解决方法,您可以在要发布的项目中定义属性DeployOnBuild
,然后在msbuild参数中将值传递给该属性,以仅使此(那些)可以构建项目。
详细信息:
您要发布的已编辑项目,并在.csproj文件中的Import语句之前添加了以下属性组:
<PropertyGroup>
<DeployOnBuild Condition=" '$(DeployProjOrNot)'!='' ">$(DeployProjOrNot)</DeployOnBuild>
</PropertyGroup>
然后是msbuild参数:
/m /p:DeployProjOrNot=true /p:PublishProfile="$(PublishProfile).pubxml"
在这种情况下,由于属性DeployOnBuild
的值未设置为 true 。
希望这会有所帮助。