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.