从发布的TeamCity vs2012解决方案(Publishing vs2012 solution

2019-07-03 14:49发布

我使用Visual Studio 2012和发布功能。 我创建了一个发布配置文件,部署我的应用程序开发服务器,并从vs2012我的机器上运行时,它的伟大工程。 这里是我的问题; 在开发服务器上我也有安装的TeamCity,我想触发发布构建完成之后。 所以,我创建了一个简单的创建步骤,如下所示:

Build file path: .\src\Solution.sln
Targets: Rebuild
Command line parameters: /p:DeployOnBuild=true;PublishProfile=Ci

当此步执行,我得到以下错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4377, 5): error ERROR_USER_NOT_ADMIN: Web deployment task failed. 
(Connected to 'dev.domain.com' using the Web Deployment Agent Service, but could not authorize. Make sure you are an administrator on 'dev.domain.com'. 

词配置文件包含用户名和密码,当我在我的机器上运行从Visual Studio出版的作品。 我也试图通过在用户名和密码作为构建步骤的参数,但我得到了相同的结果。 我需要在管理员帐户运行TeamCity的服务得到这个工作? 所有的建议表示赞赏。

Answer 1:

我刚才在博客上讲述这个http://sedodream.com/2013/01/06/CommandLineWebProjectPublishing.aspx 。

你已经很接近,希望我能缩小差距。

你是正确的用户名和密码在VS发布对话框中指定的,但我们不保存在.pubxml文件的密码。 这是目前被保存在.pubxml.user文件,该文件根本不使用命令行的情况。 因此,你需要在属性通过。 所以你的情况应该是

msbuild .\src\solution.sln /p:DeployOnBuild=true /p:PublishProfile=ci /p:Password=<insert-password>

如果您的Web服务器没有信任的证书,你可能还需要传递/p:AllowUntrustedCertificate=true

一个小除了这可能不直接关系到你的问题,但可能是别人,后来可能会看到这是很有帮助的。 如果你正在建设的.csproj / .vbproj文件( 并有可能在某些情况下使用.sln文件在哪里 ),你应该通过在属性/p:VisualStudioVersion=11.0 。 在我的博客上这样提供更多信息http://sedodream.com/2012/08/19/VisualStudioProjectCompatabilityAndVisualStudioVersion.aspx



文章来源: Publishing vs2012 solution from TeamCity