Re:Pasar proyecto de la versión 1.5 a la MRDS 2008 - 2009/04/24 21:15Ahora que lo pienso, por lo que he visto usas Visual Studio 2005, y una versión .NET framework antigua (creo que la 2.0). Además, la versión de XNA framework también es más antigua, puede que si migras todos a .NET 3.5 y el correspondiente XNA desaparezca ese error que venga de alguna incompatibilidad...
También creo que es recomendable que con MRDS 2008 uses Visual Studio 2008 (y no el 2005).Raúl Arrabales Moreno. conscious-robots.com/raul
The administrator has disabled public write access. Please, register to participate in the
forum.
"tienes referencias cruzadas entre el servicio sena y senadifferentialdrive (sobraba una)"
¿Cual es en concreto?
Yo ejecuto mi proyecto en la version Microsoft Robotics Dev Studio 2008 de pago.Mandame también mi proyecto con los cambios que le hayas realizado por si me funciona asi.
Gracias y perdona las molestias.
The administrator has disabled public write access. Please, register to participate in the
forum.
Raúl
Moderator Moderator
Posts: 528
Karma: 8
Re:Pasar proyecto de la versión 1.5 a la MRDS 2008 - 2009/04/29 22:16Hola, en princio la versión de pago y la Academic son exactamente iguales (sólo cambia un identificador). Así que el problema no se debe a algo relacionado con la versión..
La referencia cruzada a la que me refería es que el servicio sena usa una referencia a senadifferentialdrive, y a su vez, el servicio senadifferentialdrive tiene una referencia a sena. Con lo que si yo parto del código fuente sin ninguna dll generar nunca podría generar ninguna de esas dos dlls (porque una depende de la otra, y la otra de la una). Sobrara la referencia a sena en el senadifferentialdrive, al quitarla ya pude compilar..
Puedes probar a quitar (limpiar) el proyecto. Es decir, eliminar todos las dlls generadas hasta el momento y compilar todo desde cero, a ver si vas a tener problemas con algún código desactualizado..Raúl Arrabales Moreno. conscious-robots.com/raul
The administrator has disabled public write access. Please, register to participate in the
forum.
jonymegripo
User Gold Boarder
Posts: 48
Karma: 3
Re:Pasar proyecto de la versión 1.5 a la MRDS 2008 - 2009/05/18 22:04Hola Raúl, tras quitar la referencia que me dijiste, no puedo compilar ya que uso la variable _entity del tipo sena.SenaEntity que hace referencia al Servicio Sena.Y2008.M11 en el servicio simulatedSenaDifferencialDrive. Lo he ejecutado en otro ordenador y da el mismo problema. No sé porque en la versión 1.5 va bien y en la 2008 no me va.
También te queria preguntar si se puede hacer un proyecto genérico que se pueda ejecutar en todas las máquinas sin tener que estar cambiando referencias a los manifiestos, ni archivos.
Gracias y un saludo
The administrator has disabled public write access. Please, register to participate in the
forum.
Raúl
Moderator Moderator
Posts: 528
Karma: 8
Re:Pasar proyecto de la versión 1.5 a la MRDS 2008 - 2009/05/19 17:31Hola, acabo de mirar el código, lo que hice yo fue quitar la referencia a simulatedSenaDifferencialDrive en el servicio Sena (para eliminar la referencia cruzada) y así sí compila.
Efectivamente, tengo una referencia a Sena.Y2008.M11 en el servicio simulatedSenaDifferencialDrive. Probablemente me lié y te lo dije al revés..
Para exportar un servicio a otras máquinas, o en definitiva a otras instalaciones de MRDS, tienes que usar el DssDeploy. Copio aquí una pequeña explicación de otro post:
Puedes usar es la herramienta DSS Deploy (DssDeploy.exe) para crear un paquete de instalación con el código que quieras ejecutar en el PC del robot. DSS Deploy lo que hace es preparar un paquete auto-extraible que contiene los servicios que le indiques. Es como una herramienta de instalación que se usa para llevar los servicios que has desarrollado en un PC de desarrollo al PC de producción donde los vas a probar.
se crea un paquete de instalación llamado ExplorerDeplyment.exe que contiene el servicio Explorer. Una vez copiado el fichero en el PC del robot puedes instalarlo con el siguiente comando:
Code:
dssdeploy /u /t:"C:MSRS" ExplorerDeployment.exe
Y para ejecutarlo solo tienes que hacer esto:
Code:
cd /d C:MSRS
dsshost /p:50000 /t:50001 /m:"samplesconfigexplorer.manifest.xml"
Para instalarlo en otra máquina creo que basta con ejecutar el exe (y si no recuerdo mal, sale una ventana que te pregunta el directorio de instalación).
El tema es que DssDeploy está pensado para desplegar servicios en producción, pero no para desarrollo, por lo que solo copia los archivos binarios, pero no el código fuente. Si lo que quieres es que el paquete de instalación también incluya los fuentes, lo que puedes hacer es usar la opción de meter ficheros adicionales (creo que se puede hacer con la opción /d).Raúl Arrabales Moreno. conscious-robots.com/raul
The administrator has disabled public write access. Please, register to participate in the
forum.
jonymegripo
User Gold Boarder
Posts: 48
Karma: 3
Re:Pasar proyecto de la versión 1.5 a la MRDS 2008 - 2009/05/19 18:07Hola Raúl, asi es como lo hice pero sigue dandome el mismo error de ejecución. Realice lo que me aconsejaste de quitar todas las dll. Lo intente ejecutar en otro ordenador montandolo desde cero y sigue dandome el mismo fallo que en mi ordenador. No sé de que puede ser. Los fallos se centran en el el archivo sena.cs cuando ejecuta la linea:
PhysicsEntity.UpdateState(true);
y en el archivo SimulatedSenaDifferentialDrive en la línea:
Mirando por foros y por internet vi que la version 2008 no funciona bien con la dll microsoft.xna.framework version 3.0, sino que se debe utilizar la version 2.0.Esto se debe a que en la version 3.0 no ejecutaba el metodo inizialize que asigna la fisica a la entidad (silla de ruedas), por lo tanto cuando se intentaba inserta la fisica de la entidad en la escena me daba un error ya que su valor era null.
Cambie de versión y ya me funciona bien.
Gracias por tu tiempo y perdona las molestias.
The administrator has disabled public write access. Please, register to participate in the
forum.