2013-01-01 12 views
9

Secondo il MSDN il metodo GetTeamProjectCollection(RegisteredProjectCollection projectCollection, ICredentialsProvider fallbackCredentialsProvider della classe TfsTeamProjectCollectionFactory è ormai deprecato:Alternativa a TfsTeamProjectCollectionFactory.GetTeamProjectCollection prendere ICredentialsProvider

  • "Nota: questa API è ora obsoleta."

  • [ObsoleteAttribute("This method has been deprecated and will be removed in a future release. See GetTeamProjectCollection(RegisteredProjectCollection) instead.", false)]

Il consiglio è quello di utilizzare l'overload che richiede solo il RegisteredProjectCollection, ma quello che dovrebbe usare da ora in poi, se vogliamo un meccanismo di fallback per le credenziali?

Grazie

risposta

12

È necessario utilizzare il nuovo TfsTeamProjectCollection constructor insieme a questo TfsClientCredentials constructor che permette prompt interattivi per l'autenticazione.

// Use default windows credentials, and if they fail, AllowInteractive=true 
var tfsCreds = new TfsClientCredentials(new WindowsCredential(), true); 

TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(
    new Uri("http://yourserver:8080/tfs/DefaultCollection"), 
    tfsCreds); 
+0

sembra funzionare con VS2012 solo –

+0

Funziona bene con VS2010, è necessario fare riferimento alle assemblee di destra. – gabrielmaldi

+0

Penso che l'assembly necessario sia "Microsoft.TeamFoundation.Client.dll". Ho usato "11.0.0.0", ma anche gli altri potrebbero funzionare. – granadaCoder