Question

Je viens d'installer Microsoft Robotics Studio 2008 R2, et je dois admettre que je suis choqué de découvrir des chemins d'accès sont gérées.

D'abord le studio veut s'installer dans mon profil personnel (ce qui est sur Vista):

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

Je suppose que cela est parce que pendant le développement que je dois écrire des fichiers dans le dossier studio de robotique faisant C:\Program Files un no go.

Alors quand je crée un nouveau projet robotique beaucoup de chemins absolus pointant vers le studio de robotique est ajouté au projet. Si je vérifie mon projet dans le contrôle source et un autre développeur, il vérifie sur sa machine les chemins absolus ne résoudront pas et le projet ne compilera pas.

En outre, étant donné que tous les services sont collectés dans un seul dossier dans le dossier studio de robotique développer plusieurs services indépendants sur un seul ordinateur semble être au moins déroutant.

Avez-vous des bonnes stratégies pour gérer ce gâchis?

Était-ce utile?

La solution

Je l'ai maintenant trouvé un moyen de changer un projet Visual Studio service DSS Microsoft Robotics en quelque chose que vous pouvez compiler et exécuter dans votre propre indépendant de l'arbre source du chemin d'installation du studio de robotique. Voici une description de ce que vous devez faire pour modifier le projet:

  1. Ajoutez le chemin bin studio de robotique pour vous PATH variable d'environnement pour pouvoir exécuter dssproxy.exe sans fournir un chemin complet. J'ai installé studio de robotique dans les fichiers programme dossier afin d'éviter l'écriture de fichiers accidentially aux dossiers studio de robotique.

  2. Ouvrez la page Propriétés pour le projet et sélectionnez l'onglet Construire . Dans la section Sortie modifier Chemin de sortie Debug\bin . Pour les projets .NET, il est habituel de compiler dans des dossiers bin\Debug et bin\Release mais la robotique de service d'hébergement attend à vivre dans un dossier nommé bin et stockera les données dans le dossier au-dessus du dossier bin.

  3. Aller à la Connexion et sélectionnez une nouvelle clé dans la Choisissez un fichier de clé de nom fort boîte . Vous pouvez générer votre propre clé à ce moment ou utiliser l'utilitaire sn.exe pour générer une nouvelle clé. Ou si vous avez votre propre politique de création suivre les clés qui. L'utilitaire sn.exe se trouve dans le dossier tools du studio robotique.

  4. Créer des événements modifier événement ligne de commande Post-build :

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

    Faites attention à l'argument /keyfile . Entrez une expression qui localise le fichier clé de nom fort créé à l'étape précédente.

  5. Copiez les fichiers DssHost.exe et DssHost.exe.config (ou DssHost32.exe et DssHost32.exe.config pour le 32 bits service d'hébergement) à partir du dossier bin studio de robotique dans le dossier du projet et ajouter ces fichiers au projet. Réglez le Construire Action Contenu et Copier vers le répertoire de sortie Copier si plus récent . Faites la même chose pour le fichier manifest pour votre service. En fait, le fichier manifeste ne doit pas être dans le même dossier que le service, mais la copie dans le dossier de sortie vous permet de faire le déploiement XCOPY.

  6. Dans le Debug modifier Démarrer le programme externe DssHost.exe dans le dossier de sortie de votre projet. Vous devrez construire le projet une fois pour copier le fichier dans le dossier de sortie. Effacer le répertoire de travail . Réglez le arguments de ligne de commande

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

    Modifier le nom du fichier manifeste au nom propre dans votre projet. Vous pouvez modifier les numéros de port utilisés ici ou dans le fichier DssHost.exe.config. Si vous utilisez dans un environnement Windows protégé (UAC) vous devrez utiliser la commande httpreserve pour vous donner accès à un port particulier. Vous devez exécuter cette commande en tant qu'administrateur.

    Paramètres de débogage ne sont pas stockés dans le fichier de projet et chaque développeur devront créer des paramètres personnels.

Vous devez également mettre à jour la configuration Release en conséquence.

Autres conseils

Depuis que je suis seulement intéressé par le CCR de MS Robotics, je viens d'ajouter ces assemblées comme une référence à tout projet que je l'utilise avec et juste faire avec elle.

Cela fonctionne sans aucun problème. Donc, si vous êtes aussi intéressé que dans la partie du CCR et DSS du studio, cela pourrait être votre solution

Reinier

on voit ce problème beaucoup. La solution la plus simple absolue est de spécifier le répertoire d'installation lors de l'installation robotique studio pour être « C: \ program files \ microsoft studio robotique ». De cette façon, le code se déplacer entre les machines, vérifier du contrôle de code source, etc devient beaucoup moins problématique.

L'autre option consiste à utiliser dssprojectmigration, qui est inclus avec RDS. Il suffit de lancer dssprojectmigration contre votre répertoire de projet, et il corrigera tous les chemins d'accès directement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top