如何使用MSBuild部署到TeamCity中的文件夹?

时间:2011-04-25 03:47:28

标签: asp.net-mvc msbuild teamcity

在我的本地开发机器上,这非常有效:

msbuild project.name.csproj /p:DeployOnBuild=true /p:DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="c:\proyectos\folder1\deploy" /p:AutoParameterizationWebConfigConnectionStrings=false

我正在尝试使用MSBuild在TeamCity中配置Build步骤,在“命令行参数”中我将这个:

/p:DeployOnBuild=true /p:DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="c:\proyectos\folder1\deploy" /p:AutoParameterizationWebConfigConnectionStrings=false

它运行,没有显示错误,但文件不会复制到“c:\ proyectos \ folder1 \ deploy”

编辑:我在命令提示符下遇到与MSBuild相同的问题,所以它不是teamcity。我的本地开发机器在Windows 7上,服务器是Windows 2003

4 个答案:

答案 0 :(得分:4)

使用/v:dv:diag运行以获取日志记录。

(首先让它在本地工作但是......在TeamCity中,在控制台中查看代理并查看代理详细日志以查找类似的此类日志(或者通过TeamCity将相同的/v:标志传递给MSBuild) )

答案 1 :(得分:1)

您需要确保运行“TeamCity Build Agent Service”的用户具有相关目录的写入权限。

(FWIW,我相信LocalSystem帐户在Server 2003和Windows 7中具有不同的组成员身份。我们在他们自己的“teamcity”帐户下运行我们所有的TeamCity构建代理,以更明确地控制权限并允许访问网络共享。)

答案 2 :(得分:0)

安装Visual Studio 2010解决此问题。但是,您也可以通过将适当的构建目标复制到您的计算机来修复它。通常,在您的开发机器上,它们将处于(或者为32位机器取走(x86))

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web

在那里,你会发现一堆Microsoft.Web.Publishing。*目标。

只需将这些内容复制到构建计算机上的等效位置,一切就会好起来。

答案 3 :(得分:0)

通过服务器中的Web平台安装Web部署工具适合我。实际上,visual studio安装会安装Web部署,这可能是它适用于@himinaya的原因。