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?
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