ubuntu nginx mono openxml openxml-sdk

DocumentFormat.OpenXml en el servidor de Ubuntu



nginx mono (1)

Tengo una aplicación básica de C # donde se usa Open XML SDK. Quiero que funcione en mi servidor Nginx & Ubuntu y Digital Ocean.

La aplicación compila y funciona bien en Windows, y mi Mac con mono . Entonces, instalé mono en el servidor de Ubuntu, y scp el archivo .exe en el servidor, y mono ConsoleApplication2.exe , devolvió el siguiente error:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly ''DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'' or one of its dependencies. File name: ''DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'' at ConsoleApplication2.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly ''DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'' or one of its dependencies. File name: ''DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'' at ConsoleApplication2.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

He encontrado este enlace , parece que el problema proviene de la versión de DocumentFormat.OpenXml . Pero, ¿cómo podría instalar su versión correcta en un servidor Ubuntu?

¿Alguien podría ayudar?

Actualización 1: Entonces, traté de instalar Open XML SDK 2.6.1 , pero no hay un archivo MAKE . De lo contrario, para Open XML SDK 2.5 , no sé dónde encontrar una distribución de lanzamiento.

Actualización 2: debería haber intentado build.open-xml-sdk.sh ... Traté de ejecutarlo en el servidor, pero da un error . ¿Alguien sabe lo que está mal aquí?

Actualización 3: desinstalé mono y seguí este enlace :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list sudo apt-get update sudo apt-get upgrade sudo apt-get install mono-complete

mono fue reinstalado exitosamente. Luego probé build.open-xml-sdk.sh nuevamente, pero devolvió el mismo error .

Actualización 4: Siguiendo el comentario de ZagNut, traté de agregar archivos DLL a GAC. Noté dos cosas:

1) Descargué el código fuente y System.IO.Packaging.dll DocumentFormat.OpenXml.dll y System.IO.Packaging.dll , hicieron que mi programa compilara bien en Visual Studio. Sin embargo, cuando intenté agregarlos al GAC por medio de gacutil , me dice que necesitan un nombre fuerte .

2) Luego traté de agregarle un nombre fuerte al seguir esta página , me di cuenta de que los nuevos 2 dlls ya no funcionarían correctamente en Visual Studio: