Mam projekt c# w visual studio 2019. Jak zrobic by podczas kompilacji dodawane byly wszystkie niezbedne biblioteki do uruchomienia ? Na innym komputerze nie uruchamia sie program pokazuje w rejestrach ze brakuje mu dotneta. Nie chce nic instalowac na innym komputerze.
Dystrybucja aplikacji jako .exe
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kraków
- Postów: 667
Programy napisane w C# potrzebują platformy .NET i bez niej nie się nie uruchomią. Na upartego można by próbować osadzić całe .NET CLR wewnątrz pliku EXE, jednak jako że nie jest to jakaś tam biblioteka, a rozbudowane środowisko uruchomieniowe, to ów plik wykonywalny stałby się wprost ogromny i uruchamiałby się niesamowicie wolno. Najlepiej to programować w normalnym języku a nie w C#.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 24
No dobra. Ale jak patrzylem w rejestrze to potrzebuje konkretne biblioteki. No to zakladam ze jest cos tam juz zainstalowanego. To chociaz biblioteki ktore sa potrzebne do uruchomienia programu byly by linkowane z programem. Program by se je zaciagal z katalogu swojego podczas uruchamiania ?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kraków
- Postów: 667
Nie wiem, ponieważ nie znam się na tym, jak Microsoft .NET działa od środka i czy ma takie opcje. Całość w każdym razie waży bardzo dużo (u mnie 148M), a na dodatek może być chroniona prawem autorskim, więc nie nadaje się do dystrybucji razem z programem.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3891
Jeżeli używasz .core: Publish self-contained
- Rejestracja: dni
- Ostatnio: dni
- Postów: 24
Probowalem wypluwa mi exe i pdb. W opcjach projektu i publish nic nie widze by byla jakas mozliwosc podpiecia bibliotek ;/
- Rejestracja: dni
- Ostatnio: dni
- Postów: 480
Jeśli to .NET Core to w .csproj szła flaga coś a La <IncludeBlabla>.
Przerabiałem to w robocie przedwczoraj. Jak jutro usiądę to Ci znajdę
https://learn.microsoft.com/en-us/dotnet/core/deploying/single-file/overview?tabs=cli
- Rejestracja: dni
- Ostatnio: dni
- Postów: 24
Dzieki zaraz bede walczyl. Nie spodziewalem sie ze bedzie z tym az taki problem ;P
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5227
Ale jaki problem? odpalasz tylko dotnet publish -c Release -p:PublishSingleFile=true
- Rejestracja: dni
- Ostatnio: dni
- Postów: 24
Gdzie znajde jakie mam dostepne opcje pod RuntimeIdentifier ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5227
- Rejestracja: dni
- Ostatnio: dni
- Postów: 24
Dostaje błąd przy roznych opcjach ten sam. Jak to rozwiazac?
C:\Program Files\dotnet\sdk\5.0.400\Microsoft.Common.CurrentVersion.targets(2827,5): error : MSB4803: Zadanie "ResolveComReference" nie jest obsługiwane w wersji programu MSBuild dla platformy .NET Core. Użyj wersji programu MSBuild dla platformy .NET Framework.