2011-04-25 56 views
1

在我的本地dev的机器这个完美的作品:如何使用MSBuild部署到TeamCity中的文件夹?

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

我试图与配置中的MSBuild一个TeamCity的构建步骤,在“命令行参数”我把这个:

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

它运行,显示没有错误,但文件不会被复制到“C:\ PROYECTOS \文件夹1 \部署”

编辑:我有在命令提示符下使用的MSBuild同样的问题,所以它不是的TeamCity 。我的本地开发机器在Windows 7上,服务器是Windows 2003

+0

做复制的东西看起来像什么?如果错误,它会打破构建?如果没有,做/ v:诊断将显示个别步骤 – 2011-04-28 21:36:25

回答

4

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

(搞不定当地第一,但...在TeamCity的,查看代理控制台,并期待在代理详细日志的方式类似于这样的日志(或只是通过TeamCity的传递相同的/v:标志的MSBuild))

+0

谢谢,我认为这个问题是与teamcity,但问题是与MSBuild本身。我发现我必须在服务器上安装Visual Studio! – hminaya 2011-04-30 03:53:46

+0

@hminaya:很高兴你排序。不喜欢听到有人把服务器放在服务器上的核选项,尽管 - 一般来说,你只需要放置合适的.targets文件,但是我不知道你正在做什么__实际上做了什么! – 2011-04-30 07:09:16

1

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

+0

只要你没有吞咽错误,错误信息可能会导致这种情况。第一步是找出什么是错的,而不是开始猜测? – 2011-04-28 21:35:14

0

安装Visual Studio 2010是否修复此问题。但是,您也可以通过将适当的构建目标复制到您的机器来修复它。通常情况下,你的dev的机器,他们会在(或者拿走(x86)的32个机)

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

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

只需将它们复制到生成机器上的同等位置即可,一切正常。

0

在服务器中通过web平台安装Web部署工具对我很有用。其实visual studio安装安装web部署,这可能是它为@himinaya工作的原因。

相关问题