4

今まで問題なく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.
4

5 に答える 5

3

驚くべきことに (またはそうでなくても)、問題は不正な文字や[C:\Builds\Neptune\Sources\Branches\v5.0-EHub\EHub-5.0.sln]文字列とはまったく関係がないようです。

ソリューション内のプロジェクトの 1 つに無効な参照がありました。他の 1 つには、無効な dll.refresh パスがありました。

この 2 つのうちの 1 つが問題の原因でしたが、時間がないので、どちらが原因かはテストしません。

参照を修正したところ、問題は解決しました。


しかし、なぜエラーが発生したのか、まだ興味がerror MSB3095: Invalid argument. Illegal characters in path.あります。

于 2011-08-24T18:07:57.277 に答える
0

VSS から TFS への移行中に同じ問題が発生しました。asmx Web サービスが原因でエラーが発生したと思います。

解像度 :

  1. ファイル、ソース管理、ソース管理の変更に移動します
  2. エラーを生成するプロジェクトを選択
  3. バインド解除をクリック
  4. プロジェクトを再選択
  5. バインドをクリック

それはうまくいくはずです。そうでない場合は、最初のステップ (ソース管理の変更) の前に Web 参照を削除し、5 番目のステップ ([バインド] をクリック) の後、プロジェクトを右クリックして、チェックアウトを元に戻します。

于 2015-03-11T08:56:57.250 に答える
0

マイナス記号 ('-') はどうですか? ここでマイナス記号が有効かどうかはわかりません。

于 2011-08-24T14:38:07.277 に答える
0

このエラーが発生し、いくつかの .refresh ファイルが ANSI ファイル タイプとして保存されていることがわかりました。それらをメモ帳にロードし、Unicode ファイルとして保存したところ、問題が解決しました。

于 2014-12-23T20:48:48.217 に答える