2012-02-09 13 views
19

自動ビルド中にパブリッシュパッケージを作成するASP.NET MVCプロジェクトがあります。ビルドでは、引数/p:DeployOnBuild=True /p:CreatePackageOnPublish=Trueで未変更のデフォルトテンプレートを使用しています。TFS 2010 - コピー中にエラーが発生しました:パスが長すぎます

WebDeployをサーバーに直接実行すると、正常に動作しています(/ p:CreatePackageOnPublishをfalseに変更した場合)が、ラボ構築中に展開できるパッケージを作成する方が好きです。

エラーメッセージは次のようになります。

TF270002:エラーからファイルをコピー起こった 'C:\は\ 19 \バイナリビルド' に「\ NAS \は\ドロップ\ MyProjectと\ MyProject_Development.Testを構築\ 20120209.1 'となります。 詳細:指定されたパス、ファイル名、またはその両方が長すぎます。 完全修飾ファイル名は260文字未満で、 ディレクトリ名は248文字未満でなければなりません。

問題の最初の部分は、ビルドフォルダのパスだったが長すぎました(274文字)が、それは[OK]をする必要がありので$(SystemDrive)\Builds\$(BuildDefinitionId)$(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath)から作業ディレクトリを変更した後、それがダウンして最長パスとして230文字までです。

ルートフォルダのパスがそれほど長くても\\nas\Build\Drop\MyProjectであるにもかかわらず、問題がドロップフォルダ内のパスであるように見えます。ビルド名とビルド番号の書式はすぐに長さがMyProject_Development.Test\MyProject_Development.Test_20120208.1に増えます。その後、すべてのネストされたパスは、本当に深いフォルダ構造_PublishedWebsites\MyProject.Web_Package\Archive\Content\C_C\Builds\19\Sources\MyProject\Source\MyProject.Web\obj\Debug\Package\PackageTmp\Content\ui-lightness\Images\ui-bg_diagonals-thick_18_b81900_40x40.pngを作成します。

この問題を回避する方法はありますか?ビルド番号形式を$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)から$(Date:yyyyMMdd)$(Rev:.r)に短縮して、少数の文字を保存しましたが、それだけでは不十分です。私はビルド名を少し短くすることができたと思うが、それは使用された命名規則を破るだろう(それは本当に大きな問題ではないだろうが、それは厄介なことだ!)、それでも短期的な解決のように感じるだろう。

その他に何がありますか?

答えて

13

短い答えは、パスの長さの制限が実際には迷惑なので、あなたはこの作業を行うためにファイル/フォルダ構造を調整するのに(もっと)時間を費やす必要があります。

たとえば、\ nas \ Build \ Drop \ MyProjectではなく、プロジェクト名がビルド名にも含まれているので、\ nas \ Build \ Drop(または\ nas \ Builds)を実行します。

プロジェクトのフォルダ構造を平坦化します(MyProjectの下にSourceフォルダが本当に必要ですか?)。

また、パスの長さの制限を修正するためにTFSのチームのためにユーザーボイスの提案のために投票に行く:http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2156195-fix-260-character-file-name-length-limitation

+0

私はこれへのよりよい解決策がなかったことを恐れていた...私はのできるだけ多くをトリミングしています余分なもの(私のビルドは現在M_D.Tと呼ばれています。本当に有益です)と私の最長のパスは250文字ですが、今構築するので、快適さの限界に近いのです。あなたの答えとUserVoiceへのリンクに感謝します! –

+1

更新:この問題を修正する機能の提案は、Microsoftによって拒否されました。 –

+2

新しいユーザーの音声リンクは、圧力を維持する;) http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4954037-fix-260-character-file-name-length-limitation – rob