我在VS2012中有一个.net4解决方案,它有一个带有自己的发布配置文件的网站。
当从VS内部执行时,配置文件通过webdeploy成功发布,但是当使用TFS2012构建时,它似乎被忽略了。
我将这些MSBuild参数传递给build:
/p:DeployOnBuild=true /p:AllowUntrustedCertificate=true /p:PublishProfile=CI /p:Configuration=CI /p:UserName=XXX /p:Password=XXXXXX
我认为DeployOnBuild = true会强制MSBuild在解决方案中执行同名的发布配置文件。
情况不是这样吗?
答案 0 :(得分:0)
在我的搜索中遇到过这个问题。 当您创建了一个发布配置文件(在您的情况下称为" CI")时,它将保存到项目属性部分的xml文件中,扩展名为" .pubxml"
因此,作为对您的问题的回答,您应该使用/p:PublishProfile=CI.pubxml替换/ p:PublishProfile = CI部分。
答案 1 :(得分:0)
在我的情况下,我将这个参数用于msbuild。
/ p:OutDir = $(build.stagingDirectory)/ p:DeployOnBuild = true / p:WebPublishMethod = Package / p:PackageAsSingleFile = true / P:SkipInvalidConfigurations =真
在这种情况下,它会生成一个Package文件夹,其中包含具有该网站的项目。