1

TFS 2010 で既定のビルド プロセス テンプレートをカスタマイズしています。

「DownloadFiles」ビルド アクティビティを使用しており、サーバー パスで「$/TFS/Libraries/Foo.DLL」を指定しました。実行定義を実行すると、「パス '\ServerName\SharedFolder\BuildName\ へのアクセス」としてエラーがスローされます。 TempFolder' は拒否されました。」

しかし、サーバー パスを「$/TFS/Libraries」として指定すると、Libraries フォルダー内のすべてのファイルが共有 TempFolder にダウンロードされます。

しかし、1つのファイルだけをダウンロードする必要があります。助けてください..

前もって感謝します..

4

3 に答える 3

1

現在、DownloadFilesフォルダー全体でのみ機能します。

  • ServerPath="$/proj/path"- うまく動作し、すべてが にダウンロードされLocalPathます。
  • ServerPath="$/proj/path/name.ext"- 壊れた。

理由を確認するために逆コンパイルしましDownloadFilesた。まず、サーバー アイテムのリストを取得します$/proj/path/name.ext。次に、次のようにローカル パスを計算します。

localItemPath = Path.Combine(LocalPath,VersionControlPath.MakeRelative(ServerItem, ServerPath));

この行では、アクティビティはそれServerPathがパスであると想定しています。そうでない場合は、それを認識せず、OP が観察したMakeRelativeように、ローカル パスは になります。LocalPath/$/proj/path/name.ext

また、ServerPathが標準的でない場合 (たとえば、$/proj/path/../path2の場合) も同じことが起こります。解決策: を使用します。VersionControlPath.GetFullPath(myNonCanonicalPath)

于 2013-10-28T14:14:21.310 に答える
0

ビルド サービスを実行しているユーザーに、共有フォルダーに対する書き込み権限を付与する必要があります。

http://msdn.microsoft.com/en-us/library/cc668757.aspx

于 2012-04-04T09:38:39.300 に答える
0

フォルダーServerItem用と単一ファイルDownloadFilesServerItem用の2 つの個別の Build アクティビティがあります。で動作するはずです。DownloadFile
DownloadFile

于 2012-04-06T09:15:31.970 に答える