到目前为止,我一直在 TFS2010 中创建一些构建定义没有问题。
MSBUILD 命令:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe /nologo /noconsolelogger "C:\Builds\Neptune\Sources\\Branches\v5.0-Ehub\EHub-5.0.sln" /m:1 /fl /flp:"logfile=C:\Builds\Neptune\Sources\\Branches\v5.0-Ehub\EHub-5.0.log;encoding=Unicode;verbosity=detailed" /p:SkipInvalidConfigurations=true /p:OutDir="C:\Builds\Neptune\Binaries\\" /p:Configuration="Site" /p:Platform="Mixed Platforms" /p:RunCodeAnalysis="False" /p:VCBuildOverride="C:\Builds\Neptune\Sources\\Branches\v5.0-Ehub\EHub-5.0.sln.Mixed Platforms.Site.vsprops" /dl:WorkflowCentralLogger,"C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Detailed;BuildUri=vstfs:///Build/Build/1222;InformationNodeId=2168680;TargetsNotLogged=GetNativeManifest,GetCopyToOutputDirectoryItems,GetTargetPath;TFSUrl=http://ldu01:8080/tfs/Nova.com;"*WorkflowForwardingLogger,"C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Detailed;"
我收到此错误:(Site target) -> MSBUILD : error MSB3095: Invalid argument. Illegal characters in path. [C:\Builds\Neptune\Sources\Branches\v5.0-EHub\EHub-5.0.sln]
然而,我在路径中没有看到任何非法的东西,它只是一条普通的路径并且它有效。到底是怎么回事?
编辑: 删除了双斜线,删除了多余的点,删除了减号,没有任何效果。
编辑: 让我更具体一点。它构建了解决方案的一部分,但是一旦达到某个点,它就会给我这个错误并返回。
编辑: 还有更多细节。似乎失败的具体行:
Using "CombinePath" task from assembly "Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "CombinePath"
MSBUILD : error MSB3095: Invalid argument. Illegal characters in path. [C:\Builds\Pluto\Sources\Branches\v5.0-Ehub\EHub-5.0.sln]
Done executing task "CombinePath" -- FAILED.
Done building target "Site" in project "EHub-5.0.sln" -- FAILED.
Done executing task "CallTarget" -- FAILED.
Done building target "Build" in project "EHub-5.0.sln" -- FAILED.
Done Building Project "C:\Builds\Pluto\Sources\Branches\v5.0-Ehub\EHub-5.0.sln" (default targets) -- FAILED.
最佳答案
令人惊讶的是(或不是),问题似乎与非法字符完全无关,也与 [C:\Builds\Neptune\Sources\Branches\v5.0-EHub\EHub-5.0.sln]
字符串无关。
解决方案中的一个项目有一个 无效引用 。另一个有一个 无效的 dll.refresh 路径 。
这两件事之一导致了问题,但我没时间了,所以我不会测试哪一个做了。
我修复了引用,问题就消失了。
不过,我仍然很好奇为什么会出现 error MSB3095: Invalid argument. Illegal characters in path.
错误。
关于msbuild - 这个字符串中的非法字符是什么?我得到了 MSBUILD : error MSB3095,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7177105/