2

ローカル フォルダーに既にマップされている TFS ソース管理にソリューションがあるとしますSolutionFolder

こののサブフォルダーSubFolderにいますSolutionFolder。this のマップされたパスを取得する C# コードをどのように記述できSubFolderますか?

4

1 に答える 1

5

を使用しWorkStation.Currentて、問題のフォルダーの情報を取得します。

次の名前空間をインポートします。

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;

次に、使用して、必要なデータにアクセスできます。

var workspace = Workstation.Current.GetLocalWorkspaceInfo(solutionFolder);
if (workspace != null)
{
    var teamProjectUri = workspace.ServerUri;

    // var server = TfsConfigurationServerFactory.GetConfigurationServer(teamProjectUri);
    var projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(teamProjectUri);   
    var cssService = projectCollection.GetService<ICommonStructureService4>();
    var project = cssService.GetProjectFromName(solutionName);
}

そこからワークスペースも簡単に取得でき、そこからサーバーパスを取得できます。workspace.GetWorkspace().GetServerItemForLocalItem()

資格情報を提供するには、CredentialsProvider. デフォルトのプロバイダはUICredentialsProvider. serverまたは、またはを呼び出すこともできprojectCollectionますEnsureAuthenticated

以下も参照してください。

于 2013-12-13T11:46:08.353 に答える