Ostrzeżenie RuntimeIdentifier, jeśli self-contained jest nieokreślony
Jeśli określisz RuntimeIdentifier
element w pliku projektu lub użyjesz -r
opcji z opcją dotnet
, zestaw .NET SDK domyślnie tworzy, publikuje i uruchamia dane wyjściowe jako aplikacje samodzielne. Wartością domyślną bez określania elementu RuntimeIdentifier
jest posiadanie aplikacji zależnej od platformy. Ta zmiana wprowadza nowe ostrzeżenie (NETSDK1179), jeśli określisz bez określenia RuntimeIdentifier
, czy aplikacja jest samodzielna.
Wprowadzona wersja
.NET 6 RC 1
Poprzednie zachowanie
W poprzednich wersjach określenie metody RuntimeIdentifier
spowoduje dyskretną zmianę aplikacji z aplikacji zależnej od platformy do aplikacji samodzielnej.
Nowe zachowanie
Jeśli w programie .NET 6 określisz RuntimeIdentifier
bez określenia, czy aplikacja jest samodzielna, zostanie wyświetlone następujące ostrzeżenie:
ostrzeżenie NETSDK1179: jedna z opcji "--self-contained" lub "--no-self-self-contained" jest wymagana, gdy jest używany komunikat "--runtime".
Na przykład następujące polecenie spowoduje wygenerowanie ostrzeżenia:
dotnet publish -r win-x86
Kategoria zmiany
Ta zmiana może mieć wpływ na zgodność źródła.
Przyczyna wprowadzenia zmiany
Wartością domyślną bez określania elementu RuntimeIdentifier
jest wygenerowanie aplikacji zależnej od platformy. To ustawienie domyślne spowodowało zamieszanie dla wielu klientów. Celem dodania ostrzeżenia jest:
- Ostrzegaj klientów o zmianie zachowania na domyślną aplikację zależną od platformy.
- Zachęcaj klientów do wyboru typu aplikacji, którą chcą skompilować.
- Przygotuj klientów do zmiany zachowania na platformie .NET 7 domyślnie na zależne od platformy.
Zalecana akcja
- Określ wartość logiczną w pliku projektu dla
SelfContained
elementu . - Możesz też dodać
--self-contained
wartość do polecenia kompilacji lub publikowania.
Dotyczy interfejsów API
Nie dotyczy