Forum: PC-Programmierung Visual Studio Mac 2017 Executable File erstellen


von Thomas (Gast)


Lesenswert?

Hallo zusammen,

ich habe gerade etwas mit Visual Studio for Mac herumgespielt und konnte 
meine Konsolenanwendung auch ausführen. Leider finde ich im Ordner 
"/bin/Debug" oder "/bin/Release" nur eine "test.exe" Datei. Gibt es eine 
Möglichkeit eine App für MAc OSX zu erstellen, die ich für Tests 
weitergeben kann?

Danke im Vorraus,

LG Thommy

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Was sind denn da noch für Dateien in den Verzeichnissen zu finden?

Eine Konsolenanwendung wird einfach nur "test" heißen.

Sieh Dir mal im Terminal mit ls -l den Inhalt der Verzeichnisse an, 
achte da auf die Flags. Wenn das executable-Flag gesetzt ist, ist 
anzunehmen, daß die zugehörige Datei das ist, was Du suchst.

Wenn Du das Ding von Hand aufrufen willst, geh' in das passende 
Verzeichnis und tippe ./test

Eine OS X-App namens "test.app" wirst Du nicht finden, das ist nämlich 
ein Verzeichnis, in dem neben dem eigentlichen Programm noch diverse 
Ressourcen etc. untergebracht sind, die für den Betrieb mit der 
Graphikoberfläche nötig sind. Deine Konsolenanwendung aber nutzt das 
alles nicht.

von Thomas (Gast)


Lesenswert?

Hi Rufus,

danke für die schnelle Antwort.
Es gibt nur die "Test.exe" und eine "Test.exe.mbd".
1
sudo ./Test.exe.mdb
gibt die Fehlermeldung
1
command not found
bei
1
sudo ./Test.exe
kommt der Fehler
1
cannot execute binary file

bin noch etwas Ratlos :|

von Thomas (Gast)


Lesenswert?

So ich habe gerade gemerkt, dass Visual Studie eine Konsole (Terminal) 
aufmacht und folgenden Befehl aufruft:
1
clear; cd "/Users/thommy/Projects/Test/Test/bin/Release"; "/Library/Frameworks/Mono.framework/Versions/4.8.0/bin/mono32"  --debug --debugger-agent=transport=dt_socket,address=127.0.0.1:52438  "/Users/thommy/Projects/Test/Test/bin/Release/Test.exe" ; echo $? > /var/folders/ym/v1jdg8qn1gd2b4tqwhxb9__w0000gn/T/tmp46d9f8ea.tmp; echo; read -p 'Press any key to continue...' -n1; exit

und so das Programm aufruft/ausführt. Es wäre toll wenn ich eine 
vorkompilierte Datei erstellen könnte (ohne sichtbaren Quelltext) um 
diese App an einem anderen Mac OS X Rechner auszuführen. Super wäre es 
auch wenn ich nicht zwingend Mono32 installieren muss, wäre aber auch 
zur Not möglich.

Bin für jeden Tipp dankbar.

Dank und Gruß Thommy

von Christian R. (supachris)


Lesenswert?

Vielleicht solltest du, falls überhaupt von VS2017 per Compiler 
unterstützt, ein MAC Projekt erstellen.
Wenn da eine exe raus purzelt, ist das ganz sicher ein Windows Programm.

von Thomas (Gast)


Lesenswert?

Beim manuellen Aufruf kommt:
1
debugger-agent: Unable to connect to 127.0.0.1:52438
2
3
Press any key to continue...

von guest (Gast)


Lesenswert?

Thomas schrieb:
> Beim manuellen Aufruf kommt:
> debugger-agent: Unable to connect to 127.0.0.1:52438
>
> Press any key to continue...

Lass das Debug Zeug einfach weg:
1
"/Library/Frameworks/Mono.framework/Versions/4.8.0/bin/mono32" "/Users/thommy/Projects/Test/Test/bin/Release/Test.exe"

von Thomas (Gast)


Lesenswert?

Super, das hat funktioniert.

Gibt es noch eine Möglichkeit das Programm ohne Mono zu installieren zu 
verwenden? Quasi eine finale App zu erstellen?

Danke und viele Grüße,

Thomas

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Thomas schrieb:
> Gibt es noch eine Möglichkeit das Programm ohne Mono zu installieren zu
> verwenden? Quasi eine finale App zu erstellen?

Vermutlich nicht, denn das scheint kein nativer Compiler zu sein, 
sondern nur ein .Net-Compiler.

Du könntest danach suchen, ob es eine einfache Möglichkeit gibt, mono 
mit eigenen Anwendungen zu bündeln.

von Arc N. (arc)


Lesenswert?

Rufus Τ. F. schrieb:
> Thomas schrieb:
>> Gibt es noch eine Möglichkeit das Programm ohne Mono zu installieren zu
>> verwenden? Quasi eine finale App zu erstellen?
>
> Vermutlich nicht, denn das scheint kein nativer Compiler zu sein,
> sondern nur ein .Net-Compiler.
>
> Du könntest danach suchen, ob es eine einfache Möglichkeit gibt, mono
> mit eigenen Anwendungen zu bündeln.

Es wird irgendwann möglicherweise was passenderes geben...
https://github.com/dotnet/corert
"CoreRT, a .NET Core runtime optimized for AOT (ahead of time 
compilation) scenarios, with the accompanying .NET Native compiler 
toolchain."

von Gustl B. (-gb-)


Lesenswert?

Gibt es einen Grund wieso Du .NET verwendest und die Software von 
Microsoft? Unter OSX gibt es den GCC da lässt sich mit reinem c/c++ 
schön ein Programm bauen für die Konsole.

von Fritz G. (fritzg)


Lesenswert?

Warum soll man etwas in C/C++ machen wenn man eine tolle 
Entwicklungsumgebung mit Swift hat?

von Gustl B. (-gb-)


Lesenswert?

Wenn er nativ Swift verwenden würde und dann ein Binary für OSX 
rausfällt dann passt es ja, aber er baut was mit .NET und raus kommt 
eine .exe die er dann mit Mono laufen lässt. Und dann schreibt er was 
von Konsolenanwendung, da würde ich das Einfachste verwenden was ich 
kann. Vielleicht wäre auch eine Scriptsprache geeignet.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.