Salve a tutti.

Stavo creando un addIn di VisualStudio: una nuova voce nel menu SolutionExplorer che consente di creare dinamicamente una classe .cs ed aggiungerla al processo corrente.

Mi va sempre in errore: vorrei capire se è un errore applicativo o perchè magari in debug (o quant'altro) una cosa del genere non funziona...

Il metodo che uso è questo:

codice:
internal String GenerateProxy(DTE ApplicationObject, Configurazione Config, ProgressBar Avanzamento)
		{
			try
			{
				ProjectComponentsManager projMan = new ProjectComponentsManager();

                                                                // metodo che crea il codice da aggiugere al file .cs
				String Code = GetAppDataProcessCode(Config);

				if (Code != null || Code != String.Empty)
				{
                                                                                 // metodo che crea il nome della classe
					string NomeClasse = GetClassNameFromCodeString(Code);

                                                                                // *** QUI VA IN ERRORE ***
					System.Array solutionProjects = ApplicationObject.DTE.ActiveSolutionProjects as System.Array;
					Project project = (Project)solutionProjects.GetValue(0);

					projMan.AddClassToProject(project, Code, NomeClasse);

					AvanzaProgressBar(Avanzamento, 20);

					[..]
		}
Va in errore alla riga:
System.Array solutionProjects = ApplicationObject.DTE.ActiveSolutionProjects as System.Array;

con il più classico dei: "Object reference not set to an instance of an object".

E' la prima volta che smandruppo con gli AddIn e con la classe DTE...
Qualcuno può aiutarmi?

Grazie!