这适用于:
错误:
TF270003:无法复制。确保源目录\\ TFSFileStore \ TFSBuild \ Xxx \ Yyy \ _PublishedWebsites \ Zzz存在并且您具有相应的权限。
_PublishedWebsites
不存在。问题是它不是由MSBuild创建的。即使我要手动创建这些文件夹,也不会将文件复制到那里。
我们刚刚从Visual Studio 2010升级到2013年。
在仔细阅读日志文件后,好像使用了错误的MSBuild。它正在使用:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
什么时候应该使用:
C:\Program Files (x86)\MSBuild\12.0\Bin\amd64\MSBuild.exe
有关如何让TFS使用正确的MSBuild可执行文件的任何想法吗?
我关注http://hamidshahid.blogspot.com/2013/10/building-visual-studio-2013-solutions.html:
1)查找MSBuild活动的所有实例。该活动在构建模板中命名为“Run MSBuild for Project”,如下所示:
2)将活动的ToolsPath更改为指向MSBuild 12.0 exe文件,如下所示:
但是......登录诊断模式显示以下内容用于运行MSBuild for Project:
Initial Property Values
AdditionalVCOverrides =
CommandLineArguments = /p:SkipInvalidConfigurations=true /tv:12.0
Configuration = Release
GenerateVSPropsFile = True
LogFile =
LogFileDropLocation = \\Xxx\Yyy\Zzz\logs
MaxProcesses = 1
OutDir = E:\Builds\Xxx\Binaries
Platform = Any CPU
Project = E:\Builds\Xxx\Xxx.sln
ResponseFile =
RunCodeAnalysis = AsConfigured
Targets =
TargetsNotLogged = String[] Array
ToolPath =
ToolPlatform = X86
Verbosity = Diagnostic
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
不知何故,我设置的ToolPath
属性:
C:\Program Files (x86)\MSBuild\12.0\Bin\amd64\
被覆盖并设置为空。
答案 0 :(得分:2)
如果您的构建过程模板来自早期版本的TFS,则可能需要编辑模板并修改MSBuild活动属性。
如果您的构建服务器正在运行:
Visual Studio Team Foundation Server 2013:将MSBuild活动ToolVersion属性设置为12.0
Visual Studio Team Foundation Server 2012:将MSBuild ToolPath属性设置为MSBuild 12路径的路径。在许多情况下,此路径为C:\ Program Files(x86)\ MSBuild \ 12.0 \ Bin \(32 -bit)或C:\ Program Files(x86)\ MSBuild \ 12.0 \ Bin \ amd64(64位)。您还必须在构建代理上安装Visual Studio 2013。
答案 1 :(得分:2)
在我的构建定义中,我最终创建了一个序列变量,我将其称为 MSBuildToolPath
,并将其值设置为 C:\Program Files (x86)\MSBuild\12.0\Bin
即可。
仍然在我的构建定义中,我从那里找到了每个 Run MSBuild for Project
活动,并将 ToolPath
属性设置为前面提到的 { {1}} 变量。
使用正确的版本,MSBuild 终于。
然而,我的幸福并没有持续很长时间,因为下一个问题是 MSBuild 无法找到 MSBuildToolPath
文件。
经过一些研究,我们发现我们可以创建 *.metaproj
的环境系统变量,并将其值设置为 MSBUILDEMITSOLUTION
强制创建该文件。
完成后,我们成功构建了 1
文件夹,并将其部署到我们的网络服务器...... 终于!
答案 2 :(得分:0)
排队新版本时,请在参数选项卡
下设置私人投放位置