0

バッチ スクリプトを使用して、いくつかのソリューションを自動的に取得してコンパイルします。バッチ ファイルのサンプル スニペットを次に示します。

"C:\...\IDE\TF.exe" get $/NG3rdParty/Main /recursive

コマンドプロンプトから呼び出すと、これは正常に機能します。ただし、DLL のバージョン番号を変更する C# プログラムを作成しています。次のことを行います。

var businessFile= @"C:\Build\Common.AssemblyInfo.cs";

var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(@"http://tfs:8080"));
var workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(businessFile);
var workspace = workspaceInfo.GetWorkspace(tfs);
workspace.PendEdit(businessFile);
var batchFilePath = @"\CleanBuild.bat";
var batchFile = path + batchFilePath;


var p = new Process
    {
        StartInfo =
            {
                FileName = batchFile, 
                UseShellExecute = true
            }
    };
p.Start();
p.WaitForExit();

バッチ ファイルがプログラムから呼び出されると、同じ行で次の例外がスローされます。

Unable to determine the workspace. You may be able to correct this by running 'tf workspaces /collection:TeamProjectCollectionUrl'.

4

1 に答える 1