在我的本地开发机器上,这非常有效:
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
答案 0 :(得分:4)
使用/v:d
或v: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的原因。