protected override TfsTeamProjectCollection GetTfsCredential(Uri uri) { var vssCred = HasCredentials ? new VssClientCredentials(new WindowsCredential(GetCredential())) : VssClientCredentials.LoadCachedCredentials(uri, false, CredentialPromptType.PromptIfNeeded); return(new TfsTeamProjectCollection(uri, vssCred)); #pragma warning restore 618 }
public static TfsTeamProjectCollection CreateTfsCollection(string tfsName) { //This function may be a bit slow and runs on the UI thread, so would deserve optimization if many people are using it. //Works for VS 2017+, with assemblies from VS 15. Does not work when compiling the VSIX from VS 2015 (will cause an exception saying the assembly could not be found). Uri fullyQualifiedUriForName = TfsTeamProjectCollection.GetFullyQualifiedUriForName(tfsName); if (Resolvers.IdeHelper.VsMajorVersion < 17) { var vssCredentials = VssClientCredentials.LoadCachedCredentials(fullyQualifiedUriForName, false, Microsoft.VisualStudio.Services.Common.CredentialPromptType.DoNotPrompt); var tfsTeamProjectCollection = new TfsTeamProjectCollection(fullyQualifiedUriForName, vssCredentials); return(tfsTeamProjectCollection); } //Only works with VS2022+ var vssCredentials2 = new VssClientCredentials(useDefaultCredentials: true); var tfsTeamProjectCollection2 = new TfsTeamProjectCollection(fullyQualifiedUriForName, vssCredentials2); tfsTeamProjectCollection2.Authenticate(); //Will only prompt user to authenticate once normally. return(tfsTeamProjectCollection2); }