Cod*_*ick 5 msbuild tfs tfs2010 visual-studio-2013
这适用于:
错误:
TF270003:无法复制.确保源目录\\ TFSFileStore\TFSBuild\Xxx\Yyy\_PublishedWebsites\Zzz存在且您具有相应的权限.
_PublishedWebsites不存在.问题是它不是由MSBuild创建的.即使我要手动创建这些文件夹,也不会在那里复制文件.
我们刚刚从Visual Studio 2010升级到2013.
仔细阅读日志文件后,似乎使用了错误的MSBuild.它正在使用:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
Run Code Online (Sandbox Code Playgroud)
什么时候应该使用:
C:\Program Files (x86)\MSBuild\12.0\Bin\amd64\MSBuild.exe
Run Code Online (Sandbox Code Playgroud)
有关如何让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文件,如下所示:
但是...登录诊断模式显示以下内容为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
Run Code Online (Sandbox Code Playgroud)
不知何故,ToolPath我设置的属性:
C:\Program Files (x86)\MSBuild\12.0\Bin\amd64\
Run Code Online (Sandbox Code Playgroud)
被覆盖并设置为空.
在我的构建定义中,我最终创建了一个Sequence变量,我调用该变量MSBuildToolPath并将其值设置为C:\Program Files (x86)\MSBuild\12.0\Bin。
仍然在我的构建定义中,我从那里找到了每个Run MSBuild for Project活动并将其ToolPath属性设置为上述MSBuildToolPath变量。
这使得 MSBuild最终使用了正确的版本。
然而,我的快乐并没有持续多久,因为接下来的问题是MSBuild找不到该*.metaproj文件。
经过一些研究,我们发现我们可以创建一个环境系统变量并将MSBUILDEMITSOLUTION其值设置为1来强制创建该文件。
完成后,我们就成功构建了文件夹_PublishedWebsites\Zzz并部署到我们的 Web 服务器......终于!
| 归档时间: |
|
| 查看次数: |
2985 次 |
| 最近记录: |