msbuild - teamcity building project 无法启动 MSBuild.exe。路径中的非法字符

标签 msbuild teamcity

我正在尝试在 teamcity 中构建一个项目。它将执行 TFS 的 check out ,并且文件位于构建服务器的本地。如果我在服务器上手动运行构建命令,它会起作用:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\TeamCity\buildAgent\work\3446a5bd436eea87\Dev\Dev\project\myproj\myproj.csproj /t:build

在 Teamcity 中,我有一个 MSBuild 的构建步骤:

构建文件路径为:Dev\Dev\project\myproj\myproj.csproj"
工作目录留空
mbuild 版本:微软 .net 框架 4.0
msbuild 工具版本:4.0
运行平台:X86
目标:我尝试构建“构建”并留空
命令行参数留空

如果我创建一个命令行构建任务并运行上面的命令行它就可以工作。我不确定 teammcity 中的命令行和 msbuild 任务之间有什么区别。

编辑

我在工作目录上尝试了一些变体:

项目中的输出路径设置为 ..\Build\Tools\myproj\

所以我将teamcity中的工作目录设置为:Dev\Dev\project\Build\Tools\myproj\

这没有帮助。

这是 teamcity 的确切输出:
Starting: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.MsBuildBootstrap.exe /workdir:C:\TeamCity\buildAgent\work\3446a5bd436eea87\Dev\Dev\project\Build\Tools\myproj /msbuildPath:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
in directory: C:\TeamCity\buildAgent\work\3446a5bd436eea87\Dev\Dev\project\Build\Tools\myproj


Failed to start MSBuild.exe. Illegal characters in path.
System.ArgumentException: Illegal characters in path.
   at System.IO.Path.CheckInvalidPathChars(String path)
   at System.IO.Path.IsPathRooted(String path)
   at JetBrains.TeamCity.Utils.FileUtil.MakeFullPath(String path, String workDir) in         c:\BuildAgent\work\c2314fd21f15dc97\src\Utils\src\FileUtil.cs:line 48
   at JetBrains.BuildServer.MSBuildBootstrap.RunArgs.get_ProjectFile() in     c:\BuildAgent\work\c2314fd21f15dc97\src\MSBuildBootstrap\src\RunArgs.cs:line 156
   at     JetBrains.BuildServer.MSBuildBootstrap.Impl.MSBuildBootstrapFactory.Create(IClientRunArgs     args) in     c:\BuildAgent\work\c2314fd21f15dc97\src\MSBuildBootstrap.Core\src\Impl\MSBuildBootstrapFact    ory.cs:line 29
   at JetBrains.BuildServer.MSBuildBootstrap.Program.Run(String[] _args) in     c:\BuildAgent\work\c2314fd21f15dc97\src\MSBuildBootstrap\src\Program.cs:line 67

最佳答案

尝试编辑构建配置并删除 中的引号构建文件路径 选项。

如果你有:

"Dev\Dev\project\myproj\myproj.csproj"

就让:

Dev\Dev\project\myproj\myproj.csproj

我希望这会有所帮助。

关于msbuild - teamcity building project 无法启动 MSBuild.exe。路径中的非法字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9906137/

相关文章:

msbuild - 如何在 Tfs Build 中参数化 DeployIisAppPath Msbuild 参数

visual-studio-2010 - MS Build 未在构建服务器上编译 MS 测试项目

asp.net - 使用 MSBuild 将网站复制到生产环境中,同时真正跳过未更改的文件

teamcity - 使用 .Net Core 从 Teamcity 部署到 Octopus 而不创建 .zip

nant - 如何在 TeamCity 中为控制台应用程序自动化单元测试?

c# - 隐式运行单元测试

msbuild - 为什么 aspnet_compiler 需要对构建服务器上的 Temporary ASP.NET Files 文件夹的写访问权限?

.net - TeamCity WCF RIA 在构建期间缺少程序集

teamcity - 在 TeamCity 中,是否有当前构建配置 ID 的系统/环境变量?

ios - 通过 TeamCity 自动修改 Xcode 构建信息