Domanda

Ho appena installato Microsoft Robotics Studio 2008 R2 e devo ammettere che sono scioccato nello scoprire come vengono gestiti i percorsi.

Innanzitutto lo studio vuole installarsi nel mio profilo personale (questo è su Vista):

C:\Users\MyUserName\Microsoft Robotics Dev Studio 2008 R2

Presumo che ciò sia dovuto al fatto che durante lo sviluppo devo scrivere file nella cartella dello studio di robotica C:\Program Files un no.

Quindi, quando creo un nuovo progetto di robotica, al progetto vengono aggiunti molti percorsi assoluti che puntano allo studio di robotica.Se controllo il mio progetto nel controllo del codice sorgente e un altro sviluppatore lo controlla sul suo computer, i percorsi assoluti non verranno risolti e il progetto non verrà compilato.

Inoltre, poiché tutti i servizi sono raccolti in un'unica cartella nella cartella dello studio di robotica, lo sviluppo di più servizi indipendenti su un singolo computer sembra quantomeno confuso.

Avete qualche buona strategia per gestire questo pasticcio?

È stato utile?

Soluzione

Ora ho trovato un modo per modificare un progetto dello studio visivo del servizio Microsoft Robotics DSS in qualcosa che puoi compilare ed eseguire nel tuo albero dei sorgenti indipendentemente dal percorso di installazione dello studio di robotica.Ecco una descrizione di ciò che è necessario fare per modificare il progetto:

  1. Aggiungi a te il percorso del contenitore dello studio di robotica SENTIERO variabile di ambiente per poter eseguire dssproxy.exe senza fornire un percorso completo.Ho installato Robotics Studio nella cartella dei file di programma per evitare di scrivere accidentalmente file nelle cartelle di Robotics Studio.

  2. Apri il Proprietà pagina per il progetto e selezionare il file Costruire scheda.Nel Produzione sezione cambia il Percorso di uscita A Debug\bin.Per i progetti .NET è consuetudine compilare in cartelle bin\Debug E bin\Release ma il servizio di hosting di robotica si aspetta vivere in una cartella denominata bin e memorizzerà i dati nella cartella sopra il file bin cartella.

  3. Vai a Firma scheda e selezionare una nuova chiave nella Scegliere un file di chiave con nome sicuro scatola.A quel punto puoi generare la tua chiave o utilizzare il file sn.exe utilità per generare una nuova chiave.Oppure, se hai una tua politica per la creazione delle chiavi, seguila.IL sn.exe l'utilità può essere trovata in tools cartella dello studio di robotica.

  4. Nel Costruisci eventi modifica della scheda Riga di comando dell'evento post-compilazione:

    dssproxy.exe /dll:"$(TargetPath)" /proxyprojectpath:"$(ProjectDir)Proxy" /keyfile:"$(SolutionDir)Key.snk" $(ProxyDelaySign) $(CompactFrameworkProxyGen) /binpath:"." @(ReferencePath->'/referencepath:"%(RootDir)%(Directory) "', ' ')

    Presta attenzione all'argomento /keyfile.Immettere un'espressione che individui il file di chiave con nome sicuro creato nel passaggio precedente.

  5. Copia i file DssHost.exe E DssHost.exe.config (O DssHost32.exe E DssHost32.exe.config per il servizio di hosting a 32 bit) dalla cartella bin di Robotics Studio nella cartella del progetto e aggiungi questi file al progetto.Impostare il Costruisci azione A Contenuto E Copia nella directory di output A Copia se più recente.Fai lo stesso per il file manifesto per il tuo servizio.In realtà, il file manifest non deve trovarsi nella stessa cartella del servizio, ma copiarlo nella cartella di output consente di eseguire la distribuzione XCOPY.

  6. Nel Debug scheda cambia il Avvia il programma esterno al DssHost.exe nella cartella di output del tuo progetto.Dovrai creare il progetto una volta per copiare il file nella cartella di output.Cancella il Directory di lavoro.Impostare il Argomenti della riga di comando A

    /p:50000 /t:50001 /m:DSSService1.manifest.xml

    Modifica il nome del file manifest con il nome corretto nel tuo progetto.È possibile modificare i numeri di porta utilizzati qui o nel file DssHost.exe.config file.Se stai utilizzando un ambiente Windows protetto (UAC) dovrai utilizzare il file httpreserve comando per concederti l'accesso a una porta particolare.Devi eseguire questo comando come amministratore.

    Le impostazioni di debug non vengono archiviate nel file di progetto e ogni sviluppatore dovrà creare impostazioni personali.

Dovresti anche aggiornare il file Pubblicazione configurazione di conseguenza.

Altri suggerimenti

Poiché ero interessato solo al CCR della SM Robotica, ho solo aggiungere queste assemblee come riferimento a qualsiasi progetto Io lo uso con e giusto da fare con esso.

Questo funziona senza problemi. Quindi, se siete interessati solo alla parte CCR e DSS dello studio anche allora questo potrebbe essere la vostra soluzione

Reinier

vediamo questo problema molto. La soluzione più semplice in assoluto è quella di specificare la directory di installazione durante l'installazione di Robotics Studio di essere "C: \ Programmi \ Microsoft Robotics Studio". In questo modo lo spostamento di codice tra le macchine, il check-out di controllo del codice sorgente, ecc diventa molto meno problematico.

L'altra opzione è quella di utilizzare dssprojectmigration, che è incluso con RDS. Basta eseguire dssprojectmigration contro la vostra directory del progetto, e correggerà tutti i percorsi hardcoded.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top