Я потратил значительное количество времени, пытаясь сделать связку с моно. Я могу просто запустить программу, сказав
mono program.exe
но когда я говорю
mkbundle --deps -o test test.exe
выводит
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
И когда я пытаюсь запустить его, он говорит
** (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.
Я заметил, что он копирует в mscorlib.dll из папки 1.0. Я попытался поместить версию 2.0 в эту папку, и это решило ошибку загрузки типового списка, но теперь я получаю ошибку загрузки секундомера и типа семафора.
Как мне сделать пакет со всеми необходимыми мне типами?