Pergunta

Passei uma quantidade considerável de tempo tentando fazer um pacote com o Mono. Eu posso executar o programa bem dizendo

mono program.exe

Mas quando digo

 mkbundle --deps -o test test.exe

Ele sai

OS is: Linux
Sources: 1 Auto-dependencies: True
   embedding: /home/chris/Documents/Depot/test/bin/Release/test.exe
   embedding: /usr/lib/mono/1.0/mscorlib.dll
   embedding: /usr/lib/mono/gac/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
   embedding: /usr/lib/mono/gac/System/1.0.5000.0__b77a5c561934e089/System.dll
   embedding: /usr/lib/mono/gac/System.Xml/1.0.5000.0__b77a5c561934e089/System.Xml.dll
Compiling:
as -o temp.o temp.s 
cc -ggdb -o test -Wall temp.c `pkg-config --cflags --libs mono`  temp.o
Done

E quando tento executá -lo, diz

** (test.exe:21988): WARNING **: The class System.Collections.Generic.List`1 could not be loaded, used in mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Unhandled Exception: System.TypeLoadException: A type load exception has occurred.

Percebi que estava copiando no mscorlib.dll da pasta 1.0. Tentei colocar a versão 2.0 nesta pasta e ela resolveu o erro de carga do tipo de lista genérica, mas agora estou obtendo um erro de carga de parada e semáforo.

Como posso fazer um pacote com todos esses tipos de que preciso?

Foi útil?

Solução

Você parece querer mkbundle2, que vincula o tempo de execução 2.0.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top