Expertos en .NET, desarrollando aplicacion WEB... help please!!
08-may-2013 19:02
#1
|
Estamos desarrollando una aplicación en C# y .NET (mejor dicho un evolutivo de una aplicación ya desarrollada), que contiene una funcionalidad que realiza unas modificaciones en un fichero word ya existente, y el resultado del word lo guarda en una ruta específica. Para realizarlo, en el entorno de desarrollo tenemos: Visual Studio 2005 con .NET Framework 2.0 Dentro de la clase que las usa importamos un las referencias externas: using Word = Microsoft.Office.Interop.Word; using System.Xml.Xsl; Previamente hemos agregado la referencia, tanto en el menú principal: Sitio web -- Agregar Referencia -- COM -- Microsoft Word 12.0 Object Library version 8.4 El fichero en cuestion está ya instalado con anterioridad en la ruta: C:\Archivos de programa\Microsoft Office\Office12\MSWORD.OLB Además, en los proyectos se han agregado la referencia Indicando la propiedad CopyLocal=True. Bien. En local, en el entorno de desarrollo funciona perfectamente. Ahora se Genera la Solucion y posteriormente se generan los ficheros precompilados del Sitio Web con la opcion: Pinchando en proyecto ---- Publicar Sitio Web OK. Se copia el resultado a la maquina del servidor windows destino donde debe estar desplegada, pero cuando se ejecuta, en tiempo de ejecucion los logs indican el error: No se puede cargar el archivo o ensamblado Microsoft.Office.Interop.Word, Version=12.0.0.0 Trazando lo que puede ocurrir hemos comprobado que el archivo MSWORD.OLB está situado en la ruta del servidor Windows destino dentro de: C:\Program Files\Microsoft Office\Office11\MSWORD.OLB pero la versión que contiene es la 11. Dudas: -¿Cuál es la manera mas rapida de conseguir que esto funcione bien? -¿Es necesario instalar en la maquina de servidor el Office 12 (office 2007) o en su defecto el paquete siguiente? http://www.microsoft.com/en-us/downl....aspx?id=18346 -Se puede hacer algo mas para que el servidor donde está desplegada la aplicacion recoja bien la referencia buena, si la tengo fisicamente en mi local? ...Copiandola a alguna carpeta o algo... (copiandola a \bin dice que no la encuentra tampoco), ¿o es necesario registrarla en el registro de windows del servidor o instalar algo mas? -¿Es posible que el servidor destino, cuando intenta buscar la referencia se lia con la que ya tiene que es la version 11 y por ello dice que no la encuentra? Pero entonces, qué sentido tiene que ponga la propiedad CopyLocal=True, si no hace caso en absoluto? Gracias por la ayuda. |
08-may-2013 20:59
#2
|
Para que el servidor puede manejar ficheros Word creados con Word o instalas Word o buscas algo para tener esos ensamblados. Por experiencia ningún administrador de sistemas te va a instalar Office en un máquina de producción por eso existen proyectos capaces de generar ficheros Excel o Word sin tener que instalar Office. A parte si tienes distintas versiones pues obviamente fallará, ¿podrías usar tu la versión 11 en vez de la 12? |
09-may-2013 21:48
#3
|
Para que el servidor puede manejar ficheros Word creados con Word o instalas Word o buscas algo para tener esos ensamblados. Por experiencia ningún administrador de sistemas te va a instalar Office en un máquina de producción por eso existen proyectos capaces de generar ficheros Excel o Word sin tener que instalar Office.
A parte si tienes distintas versiones pues obviamente fallará, ¿podrías usar tu la versión 11 en vez de la 12? Ya el problema es que mi equipo de programadores tienen todos instalada la versión 12. Podría instalar la versión 11, pero para eso seguramente tienen que desinstalar el Office 2007 y desinstalar el PIA2007, e instalar Office 2003 y PIA 2003. Esa sería la opción 1, y claro hay que probar de nuevo todo el desarrollo para que el cambio de version no haga petar la libreria. Otra opción es que instalen todos el Office 2003 y PIA 2003 conviviendo con el actual Office 2007 y PIA 2007, y no sé muy bien si eso es posible... ¿Cómo lo ves? |
09-may-2013 22:10
#4
|
Ya el problema es que mi equipo de programadores tienen todos instalada la versión 12.
Podría instalar la versión 11, pero para eso seguramente tienen que desinstalar el Office 2007 y desinstalar el PIA2007, e instalar Office 2003 y PIA 2003. Esa sería la opción 1, y claro hay que probar de nuevo todo el desarrollo para que el cambio de version no haga petar la libreria. Otra opción es que instalen todos el Office 2003 y PIA 2003 conviviendo con el actual Office 2007 y PIA 2007, y no sé muy bien si eso es posible... ¿Cómo lo ves? |
09-may-2013 22:15
#5
|
Si es asi, sí, seguramente tenga una solucion similar. |
09-may-2013 22:46
#6
| En el entorno de desarrollo funciona y en el servidor tengo la misma versión de Office instalada pero en el servidor no va y todas las "soluciones" que encuentro son para W2003 o 2008 server y en 2012 no aparecen las mismas. |
09-may-2013 22:52
#7
| El tema es que son cosas muy puntillosas y especificas...al final solo tienes garantia de dar con la solucion con el ensayo/error, hasta que des con ello. |