Pregunta

Acabo de instalar Microsoft Robotics Studio 2008 R2, y debo admitir que me sorprende descubrir cómo se manejan los caminos.

Primero del estudio quiere instalarse en mi perfil personal (esto está en Vista):

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

Supongo que esto se debe a que durante el desarrollo tengo que escribir archivos en la fabricación de la carpeta de Robotics Studio C:\Program Files a no ir.

Luego, cuando creo un nuevo proyecto de robótica, se agregan muchas rutas absolutas que apuntan al estudio de robótica al proyecto. Si reviso mi proyecto en el control de la fuente y otro desarrollador lo verifica en su máquina, las rutas absolutas no se resolverán y el proyecto no se compilará.

Además, dado que todos los servicios se recopilan en una sola carpeta en la carpeta Robotics Studio que desarrolla múltiples servicios independientes en una sola computadora parece ser al menos confuso.

¿Tienes buenas estrategias para manejar este desastre?

¿Fue útil?

Solución

Ahora he descubierto una manera de cambiar un proyecto de Microsoft Robotics DSS Service Visual Studio en algo que puede compilar y ejecutar en su propio árbol de origen independiente de la ruta de instalación del Robotics Studio. Aquí hay una descripción de lo que necesita hacer para modificar el proyecto:

  1. Agregue el ruta de contenedor de Robotics Studio SENDERO Variable de entorno para poder ejecutar dssproxy.exe sin suministrar un camino completo. He instalado Robotics Studio en la carpeta de archivos de programa para evitar escribir archivos accidentalmente en las carpetas Robotics Studio.

  2. Abre el Propiedades página para el proyecto y seleccione el Construir pestaña. En el Producción Sección Cambiar el Ruta de salida a Debug\bin. Para proyectos .NET es costumbre compilar en carpetas bin\Debug y bin\Release Pero el servicio de alojamiento de robótica esperanza vivir en una carpeta llamada bin y almacenará datos en la carpeta sobre el bin carpeta.

  3. Ve a la Firma pestaña y seleccione una nueva clave en el Elija un archivo de clave de nombre fuerte caja. Puede generar su propia clave en ese momento o usar el sn.exe utilidad para generar una nueva clave. O si tiene su propia política para crear claves, siga eso. los sn.exe la utilidad se puede encontrar en el tools Carpeta de Robotics Studio.

  4. En el Construir eventos pestañas editar Línea de comandos de eventos posteriores a la construcción:

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

    Prestar atención al argumento a /keyfile. Ingrese una expresión que localice el archivo de clave de nombre fuerte creado en el paso anterior.

  5. Copiar los archivos DssHost.exe y DssHost.exe.config (o DssHost32.exe y DssHost32.exe.config Para el servicio de alojamiento de 32 bits) desde la carpeta Bin de Robotics Studio en la carpeta del proyecto y agregue estos archivos al proyecto. Selecciona el Acción de construcción a Contenido y Copiar al directorio de salida a Copiar si es más nuevo. Haz lo mismo para el archivo manifestante para su servicio. En realidad, el archivo manifiesto no tiene que estar en la misma carpeta que el servicio, pero copiarlo a la carpeta de salida le permite realizar la implementación de XCopy.

  6. En el Depurar pestaña Cambiar el Iniciar programa externo hacia DssHost.exe en la carpeta de salida de su proyecto. Tendrá que crear el proyecto una vez para copiar el archivo en la carpeta de salida. Limpiar el Directorio de trabajo. Selecciona el Argumentos de la línea de comandos a

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

    Cambie el nombre del archivo manifiesto al nombre propio de su proyecto. Puede modificar los números de puerto utilizados aquí o en el DssHost.exe.config expediente. Si se ejecuta en un entorno de Windows protegido (UAC), deberá usar el httpreserve Ordene dar acceso a un puerto en particular. Tienes que ejecutar este comando como administrador.

    La configuración de depuración no se almacena en el archivo del proyecto y cada desarrollador tendrá que crear configuraciones personales.

También debes actualizar el Liberar configuración en consecuencia.

Otros consejos

Como solo estaba interesado en el CCR de MS Robotics, solo agrego estos ensamblajes como referencia a cualquier proyecto con el que lo use y solo termine con él.

Esto funciona sin ningún problema. Entonces, si también solo está interesado en la parte de CCR y DSS del estudio, entonces esta podría ser su solución

Reiniciar

Vemos mucho este problema. La solución más fácil es especificar el directorio de instalación al instalar Robotics Studio para que sea "C: Archivos de programa Microsoft Robotics Studio". De esa manera, mover el código entre máquinas, verificar el control de la fuente, etc., se vuelve mucho menos problemático.

La otra opción es usar DSSProjectMigration, que se incluye con RDS. Simplemente ejecute DSSProjectMigration contra el directorio de su proyecto, y corregirá todas las rutas codificadas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top