Passa ai contenuti principali

Post

Visualizzazione dei post da Febbraio, 2011

TFS2010 Object Model: TeamProjectPicker

L’object model di TFS 2010 mette a disposizione una finestra per permettere ai nostri utenti di selezionare un server TFS, una project collection o un progetto.La finestra è implementata dalla classe TeamProjectPicker che si trova nel namespace Microsoft.TeamFoundation.Client (assembly Microsoft.TeamFoundation.Client.dll).TeamProjectPicker permette una certa versatilità perché può servire per selezionare una project collection, un progetto o una serie di progetti.Prima di vedere come si può ottenere ciò, vediamo come è strutturata la classe.La classe ha tre costruttori che permettono di gestire la possibilità di scegliere cosa è possibile selezionare e quale provider di credenziali utilizzare.In particolare, il costruttore più completo è il seguente:PublicSubNew(ByVal mode AsTeamProjectPickerMode,ByVal disableCollectionChange AsBoolean,ByVal credentialsProvider AsICredentialsProvider) L’argomento mode, di tipo TeamProjectPickerMode, permette di selezionare la modalità di selezione e pu…

VB.NET: recuperiamo gli assembly referenziati nella nostra applicazione

La classe Assembly prevede il metodo GetReferencedAssembly() per recuperare l’elenco degli AssemblyName ralativi agli assembly referenziati da un determinato assembly.Il problema è che se abbiamo una struttura con più dll referenziate a catena, il metodo restituisce solo il primo livello della stessa catena.Supponiamo di avere la seguente struttura:ovvero il progetto AssemblyExtension referenzia la dll AssemblyExtensionLIB1 che, a sua volta, referenzia la AssemblyExtensionLIB2.In questo caso, il metodo GetReferencedAssembly(), applicato sull’assembly AssemblyExtension, restituisce il seguente elenco:Come si può vedere non c’è traccia della AssemblyExtensionLIB2.Il seguente metodo di estensione provvede ad eseguire un algoritmo ricorsivo per recuperare una lista di AssemblyName contenente tutte le reference dell’assembly:Imports System.Runtime.CompilerServicesImports System.ReflectionModuleAssemblyExtension    <Extension()> _PublicSub GetAllReferenceAssemblies(ByVal sourceAssembl…

TFS2010 Object Model: gestiamo le project collections

In questo post vorrei porre l’attenzione su come utilizzare l’object model di TFS per gestire le Project Collection, cioè come utilizzare  da codice i servizi messi a disposizione dalla piattaforma TFS per creare, eseguire il detach o l’attach delle project collections del nostro server.L’object model di TFS mette a disposizione l’interfaccia ITeamProjectCollectionService implementata da quelle classi che hanno la capacità di gestire le project collections.Per prima cosa recuperiamo questa classe, utilizzando il metodo GetService (ereditato dalla classe TfsConnection) della TfsConfigurationServer:PublicSub GetTeamProjectService()    tpcService = CType(tfs.GetService(OfITeamProjectCollectionService)(), ITeamProjectCollectionService)Console.WriteLine("ITeamProjectCollectionService ricavato!")EndSub dove tfs è un’istanza di TfsConfigurationServer ricavata tramite il seguente pezzo di codice:PublicSub CreateTFSInstance(ByVal server AsString)Try        tfs = TfsConfigurationServer…