2017-05-19 13 views
48

W przypadku projektu aplikacji konsolowej .NET Core 1.0, nie mogę się dowiedzieć, jak uzyskać .exe do wyprowadzenia podczas kompilacji. Projekt działa poprawnie podczas debugowania.Zbuduj aplikację .NET Core Console, aby wyprowadzić plik EXE?

Próbowałem już opublikować projekt, ale to też nie działa. Ma sens, ponieważ .exe będzie specyficzne dla platformy, ale musi być jakiś sposób. Moje wyszukiwania mają jedynie odniesienie do starszych wersji .Net Core, które używają project.json.

Ilekroć buduję lub publikuję, to wszystko, co otrzymuję.

build directory

+5

Możliwy duplikat [VS2017 kompilacji NetCoreApp jako EXE] (http://stackoverflow.com/questions/44038847/vs2017-compile-netcoreapp -as-exe) –

+0

Oznacz to jako duplikat. –

Odpowiedz

66

Do debugowania cel, można użyć DLL. Możesz go uruchomić, używając dotnet ConsoleApp2.dll. Jeśli chcesz wygenerować exe, musisz wygenerować samodzielną aplikację.

Aby wygenerować samodzielną aplikację (np. W systemie Windows), należy określić docelowe środowisko wykonawcze (system docelowy, na który system docelowy).

Pre-.NET Rdzeń 2,0 jedynie: najpierw dodać do identyfikatora uruchamiane są czasy pracy docelowym w csproj (list of supported rid):

<PropertyGroup> 
    <RuntimeIdentifiers>win10-x64;ubuntu.16.10-x64</RuntimeIdentifiers> 
</PropertyGroup> 

powyższym etapie nie jest konieczne wychodząc z NET Core 2.0.

Następnie ustawić żądany czas pracy podczas publikowania aplikacji:

dotnet publish -c Release -r win10-x64 
dotnet publish -c Release -r ubuntu.16.10-x64 
+1

Czy jest to możliwe w "Visual Studio for Mac"? Czy może to zrobić tylko poprzez CLI? – JedatKinports

+5

Myślę, że można to zrobić tylko za pomocą interfejsu CLI. BTW, zaczynając od .net core 2, nie musisz ustawiać 'RuntimeIdentifier' w csproj. – meziantou

+1

Dzięki! Wygląda na to, że działa bez RuntimeIdentifiers. Miło, więc muszę pisać wszystkie te tylko raz w skrypcie powłoki. :) Powinni zrobić coś takiego: 'dotnet publikuje -c Wydanie -r win10-x64, ubuntu.16.10-x64' – JedatKinports

Powiązane problemy