Esempio n. 1
0
        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
        }
Esempio n. 2
0
        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);
        }