30 messaggi dal 30 maggio 2008
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:

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!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC