这涉及:
错误:
_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:
但是...在“诊断”模式下的日志针对“运行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\
被覆盖并设置为空。
最佳答案
如果您的构建过程模板来自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位)或C:\Program Files(x86)\MSBuild\12.0\Bin\amd64(64位)。您还必须在生成代理上安装Visual Studio 2013。
MSDN Source
关于tfs - TF270003 : Failed to copy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24684823/