VSX: del pacchetto personalizzato tipo di progetto a mimik “Debug >> A partire Azione >> A partire Programma esterno”

StackOverflow https://stackoverflow.com/questions/1681552

Domanda

Ho un tipo di progetto personalizzato basato sul C # libreria di classi tipo di progetto in un pacchetto VSX (2008+). Per questo tipo di progetto, anche se l'uscita è una libreria di classi, voglio essere in grado di eseguire il debug di questa applicazione semplicemente premendo F5 (ecc). Ho un eseguibile prebuilt che accetta un percorso assieme come argomento della riga di comando e lo carica per la prova banco di lavoro.

posso simulare questo comportamento manualmente utilizzando "Debug >> A partire Azione >> A partire Programma esterno" del Progetto nelle pagine delle proprietà, fornendo il percorso del file eseguibile e di fornire il percorso relativo alla DLL uscita come argomento della riga di comando . Ma questo è troppo setup. Vorrei codice di pacchetto del tipo di progetto per essere in grado di afferrare il montaggio della configurazione attiva e la posizione di installazione del file eseguibile banco di lavoro automaticamente.

Lo scenario peggiore sarebbe che dopo ogni accumulo di successo, le pagine delle proprietà per il progetto vengono aggiornati a livello di codice con i valori corretti. Non mi piace particolarmente questa soluzione perché sembra disordinato, sembra che sarebbe facile da ottenere fuori sincrono ed esporre quei potenziali errori per l'utente.

La soluzione migliore che posso immaginare coinvolto intercettare l'evento di inizio Debugger (solo per questo tipo di progetto) prima di craps fuori con "Un progetto con una produzione tipo di libreria di classi non può essere avviato direttamente" ed esegue il banco di lavoro, invece (debugger allegata, ovviamente). Non so se VSX espone le parti necessarie.

Vorrei pagare per avere questo semplice (?) Pacchetto (insieme a pochi altri requisiti, soprattutto una voce di menu a livello di progetto, già in parte realizzato) scritto da qualcuno con esperienza, ma non ho trovato alcun consulenti specializzati in confezioni VSX. Raccomandazioni sono i benvenuti.

Sto prendendo l'approccio sbagliato? Sto assumendo che ho bisogno di un pacchetto piuttosto che un componente aggiuntivo.

È stato utile?

Soluzione

Sulla base della sua descrizione, sembra che tu non hanno un tipo di progetto personalizzato, ma piuttosto un costume progetto modello . (Si dovrebbe in genere hanno solo il proprio tipo di progetto, se si aveva il proprio linguaggio di programmazione personalizzato).

Supponendo che questo è il caso, penso che si dovrebbe essere in grado di creare il proprio implementazione iWizard che avrebbe impostato il progetto per lanciare l'eseguibile padrone di casa, ecc ... al momento della creazione del progetto (vale a dire dopo che l'utente passa attraverso la finestra di dialogo Nuovo progetto).

Per esempio, si potrebbe fare qualcosa di simile a quanto segue nel del iWizard ProjectFinishedGenerating implementazione:

public void ProjectFinishedGenerating(Project project)
{
  foreach (Configuration config in project.ConfigurationManager)
  {
    config.Properties.Item("StartAction").Value = 1; //Launch external program
    config.Properties.Item("StartProgram").Value = <pathToYourEXE>;
    config.Properties.Item("StartArguments").Value = <argumentsToYourExe>;
  }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top