到目前为止,我在TFS2010中创建了一些构建定义没有问题。
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.
答案 0 :(得分:3)
令人惊讶(或不),似乎问题与非法字符无关,也与[C:\Builds\Neptune\Sources\Branches\v5.0-EHub\EHub-5.0.sln]
字符串完全无关。
解决方案中的一个项目有无效引用。其他人有一个无效的dll.refresh路径。
这两件事中的一件引起了这个问题,但我没时间,所以我不会测试哪一个。
我修复了引用,问题就消失了。
我仍然很好奇为什么我会收到错误error MSB3095: Invalid argument. Illegal characters in path.
。
答案 1 :(得分:0)
减号字符(' - ')怎么样? 我不确定减号在这里是否有效。
答案 2 :(得分:0)
我遇到了这个错误,发现有几个.refresh文件被保存为ANSI文件类型。我将它们加载到记事本中并将它们保存为Unicode文件,这解决了我的问题。
答案 3 :(得分:0)
从VSS迁移到TFS时遇到了同样的问题。我认为该错误是由asmx Web服务引起的。
决议:
它应该工作。如果没有,则在第一步(更改源控件)之前删除Web引用,在第五步之后(单击bind)右键单击prject然后撤消签出。
答案 4 :(得分:0)
我遇到过这一次。我从命令提示符运行msbuild,我需要从提升命令提示符(即作为管理员)运行它。
完全误导性错误消息!