C#コードを使用してファイルをチェックアウトするのが好きですが、常にTF14098アクセス拒否例外が発生します。TFS管理者は、チェックアウト/編集のアクセス許可があり、VisualStudioとtf.exeを使用して、ファイルをチェックアウトするのに問題がないことを確認します。
これは私の現在のC#コードです:
const string tfsServer = @"http://MyServer:8080/tfs";
const string fileName = @"$/MyFile.xaml";
const string workspaceName = "MyWorkspace";
using (TfsTeamProjectCollection tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(tfsServer)))
{
if (tfs != null)
{
WorkspaceInfo workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(fileName);
if (null != workspaceInfo)
{
var vcs = tfs.GetService<VersionControlServer>();
Workspace workspace = workspaceInfo.GetWorkspace(tfs);
if(workspace == null){
workspace = vcs.GetWorkspace(workspaceName, vcs.AuthorizedUser);
}
vcs.NonFatalError += VersionControlOnNonFatalError;
vcs.Getting += OnGetting;
vcs.BeforeCheckinPendingChange += OnBeforeCheckinPendingChange;
vcs.NewPendingChange += OnNewPendingChange;
if (workspace != null)
{
workspace.PendEdit(fileName);
}
}
}
}
結果は常に次のようになります。
致命的ではない失敗:TF14098:アクセスが拒否されました:ユーザーMeには$/MyFile.xamlのPendChangeアクセス許可が必要です。
このエラーについて多くの調査を行った後、Dos-Boxを介してアクセス許可を確認しようとし、次のコマンドラインを実行しました。
tf checkout $/MyFile.xaml
問題なくファイルのチェックアウトが行われます。(私がファイルが抵抗するディレクトリにいる場合)
誰かが問題が何であるかについての考えを持っていますか?私のコード(VisualStudio2012で作成および実行されたアプリケーション)とコマンドラインtfチェックアウトの違いは何ですか?
ヒントとヒントをありがとう!パトリック