【发布时间】:2014-09-01 07:36:45
【问题描述】:
这涉及到:
- Visual Studio 2013
- 团队基础服务器 2010
错误:
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) 修改activity的ToolsPath指向MSBuild 12.0 exe文件,如下图:
但是 ... 诊断模式下的日志显示 Run 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\
被覆盖并设置为空。
【问题讨论】:
-
您是否验证了执行 msbuild 的用户实际上拥有该目录的权限?一般来说,这是第一大原因。好吧,除了没有足够的磁盘空间之外。
-
是的,我有。另外,它会在构建过程中创建
Xxx\Yyy文件夹。你会认为如果这是一个烫发问题,它会在这个过程的早期失败。此外,它在 VS2010 下的过去一年中运行良好。我们所做的只是升级到 VS2013。一定有一些.csproj或Microsoft.WebApplication.targets行丢失或错误;我的想法就是这样。 -
您是否在构建服务器上安装了Build Tools 2013?
-
@KMoraz - 我在构建服务器上安装了 VS2013,我认为它可以解决这个问题。
标签: tfs msbuild visual-studio-2013