2014-10-02 16 views
6

Próbuję połączyć moją aplikację C# (.exe) z jej bibliotekami zależnymi, rodzimym dll i wymaganymi zestawami .net do pojedynczego exe, używając mkbundle.Pakiet .net exe, bibliotekę DLL, środowisko .net i Natywną bibliotekę DLL w jednym egzemplarzu

Po pierwsze, czy można to zrobić za pomocą mono mkbundle?

Jeśli tak, gdy próbuję to zrobić za pomocą polecenia

C:\MyProjDir>mkbundle -o BundleName --deps OriginalAppName.exe 

Kompilując

as -o temp.o temp.s 

otrzymuję błąd:

'as' is not recognized as an internal or external command, operable program or batch file. [Fail]

znalazłem gdzieś, że trzeba zainstalować gcc, gcc-mingw i jako pakiety. (sic). Zainstalowałem gcc, gcc-mingw, ale nie wiem, gdzie znaleźć pakiety, co jest błędem. Proszę zasugerować, jeśli jest jakikolwiek inny sposób robienia tego. Dzięki

Odpowiedz

1

Można używać ILMerge

Dla Native DLL Możesz osadzić DLL jako zasób aplikacji i wyodrębnić zasobu na dysku w czasie wykonywania.

0

Można to zrobić bezpośrednio z aplikacji,

  • jak Michael G zasugerował, umieścić rodzimych DLL jako zasób i załadować go odpowiednio
  • kwestię wykorzystania https://www.nuget.org/packages/Costura.Fody/1.3.2 pakiet, to osadzić wszystkie zespoły .NET Twoje referencje do projektu, tworząc w ten sposób samodzielny plik wykonywalny
Powiązane problemy