tfsbuild-TFS生成定义-要部署的默认web应用程序

tfsbuild-TFS生成定义-要部署的默认web应用程序,tfs,msbuild,tfsbuild,msbuild-4.0,build-server,Tfs,Msbuild,Tfsbuild,Msbuild 4.0,Build Server,我有两个MVC 3 web项目,一个用于移动应用程序,另一个是常规桌面web应用程序,最后添加的是移动应用程序,我有一个构建定义,每次签入代码时都会部署(门控签入) 我的问题是,由于我添加了移动设备,构建定义将该项目作为默认项目,因此我想知道是否可以指定“默认web项目”,在这种情况下,我希望部署桌面版本而不是移动设备 我想知道是否可以从构建参数中指定以下配置: /p:Configuration=Dev/p:Platform=“Any CPU”/p:DeployOnBuild=true/p:De

我有两个MVC 3 web项目,一个用于移动应用程序,另一个是常规桌面web应用程序,最后添加的是移动应用程序,我有一个构建定义,每次签入代码时都会部署(门控签入)

我的问题是,由于我添加了移动设备,构建定义将该项目作为默认项目,因此我想知道是否可以指定“默认web项目”,在这种情况下,我希望部署桌面版本而不是移动设备

我想知道是否可以从构建参数中指定以下配置:

/p:Configuration=Dev/p:Platform=“Any CPU”/p:DeployOnBuild=true/p:DeployTarget=MSDeployPublish/p:MSDeployPublishMethod=WMSVC/p:MsDeployServiceUrl=https://IP:Port/msdeploy.axd /p:username=xxx/p:password=xxx/p:AllowUntrustedCertificate=True/p:DeployIisAppPath=Path

在“要构建的项目”选项中,我有项目的解决方案(sln文件)


有什么想法吗?

编辑项目文件并在项目文件内设置属性,而不是向MSBuild命令行添加其他属性。如果需要,请创建一个特定的配置以将它们放入其中,这样部署就不会总是在VisualStudio中进行

 <PropertyGroup Condition="'$(BuildingInsideVisualStudio)' == false">
      <DeployOnBuild>true</DeployOnBuild>
      <MSDeployTarget>MSDeployPublish</MSDeployTarget>
      ....
      ....
 </PropertyGroup>

我已经在.csprj文件中的最后一个propertyGroup标记下面添加了itemGroup,但是我得到了这个异常。。。元素中必需的属性include为空或缺失,您认为是否可以用另一种方式执行此操作?…比方说。。。。为我不想部署的移动站点设置False?我已经验证了此配置,但它似乎不起作用。。。。真满假bin\DEBUG;跟踪提示符4为False,其余的构建定义也为False@Jessehouwing抱歉,需要是propertygroup,而不是itemgroup,请在帖子中更正。否不能将移动项目设置为false,命令行始终优先于项目文件。你可以做些别的事情,我会更新我上面的答案。实际上,我已经应用了你上面描述的方法,效果很好。我刚刚用反向布尔条件配置了移动站点=“$(DeployDefaultWebsiteOnBuild)”==“false”,然后部署……非常感谢!
 <PropertyGroup Condition="'$(BuildingInsideVisualStudio)' == false">
      <DeployOnBuild Condition="'$(DeployDefaultWebsiteOnBuild)' == 'true'>true</DeployOnBuild>
      <MSDeployTarget>MSDeployPublish</MSDeployTarget>
      ....
      ....
 </PropertyGroup>
 /p:DeployDefaultWebsiteOnBuild=true