Esecuzione di binari .NET con mono

4

Quando ho abc.exe generato dalla sorgente C # / Mono, uso 'mono abc.exe'.

C'è un modo per eseguire abc.exe con 'abc.exe' non 'mono abc.exe'? Voglio dire, quando eseguo 'abc.exe', posso rendere 'mono abc.exe' chiamato automaticamente?

    
posta prosseek 15.12.2010 - 18:32
fonte

3 risposte

6

Vedi questo link

Fondamentalmente quello che devi fare è usare uno degli strumenti Mono (mkbundle è generico mentre macpack è progettato per funzionare su Mac OS X) per collegare tutti i tuoi eseguibili, risorse e dll dell'applicazione in un singolo file eseguibile che può essere eseguito successivamente come singola app.

Dal documento macpack:

macpack è uno strumento che deve essere utilizzato per raggruppare le applicazioni Cocoa # in pacchetti Double-Clickable, Finder friendly su Mac OS X. Raggruppa librerie e risorse statiche, oltre a generare un'informazione di base in il pacchetto .app.

Ad esempio i seguenti comandi sono usati per costruire CurrencyConverter.exe in un pacchetto di applicazioni:

$ mcs -g -debug+ CurrencyConverter.cs -out:CurrencyConverter.exe -pkg:cocoa-sharp
$ rm -rf CurrencyConverter.app
$ macpack -m:2 -o:.  -r:/Library/Frameworks/Mono.framework/Versions/Current/lib/    
  libCocoaSharpGlue.dylib -r:CurrencyConverter.nib -n:CurrencyConverter 
  -a:CurrencyConverter.exe

Il risultante CurrencyConverter.app è solo un'altra applicazione Mac OS X per quanto riguarda il Finder, e può essere aperto da Finder o lanciato da Terminal usando il comando open -a CurrencyConverter.

    
risposta data 16.12.2010 - 19:18
fonte
2

Migliorando la risposta di Calavera per permetterti di farlo con un parametro, lo script dovrebbe essere simile a:

#!/bin/bash
mono $1

In questo modo puoi:

./abc.sh name_of_the_app.exe

Avrei aggiunto questo come commento, ma il formato sarebbe stato perso

    
risposta data 16.12.2010 - 14:59
fonte
1

Non ho molta esperienza con mono ma probabilmente dovrai creare uno script di shell eseguibile che faccia call per te. Qualcosa come:

$ vi abc.sh

#!/bin/bash
#abc.sh
mono abc.exe
:wq

$ chmod +x abc.sh
$ ./abc.sh
    
risposta data 16.12.2010 - 05:22
fonte

Leggi altre domande sui tag