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.
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#.
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 ?
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.
Jeżeli używasz .core: Publish self-contained
Probowalem wypluwa mi exe i pdb. W opcjach projektu i publish nic nie widze by byla jakas mozliwosc podpiecia bibliotek ;/
Właściwość copy local
na referencji
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
Dzieki zaraz bede walczyl. Nie spodziewalem sie ze bedzie z tym az taki problem ;P
Ale jaki problem? odpalasz tylko dotnet publish -c Release -p:PublishSingleFile=true
Gdzie znajde jakie mam dostepne opcje pod RuntimeIdentifier ?
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.
Dobra temat rozwiazany wywalilem com'y. Troche mega dodalo do apki ale wazne ze jest juz git i dziala. Dzieki ;)