Udostępnij za pośrednictwem


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.
  • Określ wartość logiczną w pliku projektu dla SelfContainedelementu .
  • Możesz też dodać --self-contained wartość do polecenia kompilacji lub publikowania.

Dotyczy interfejsów API

Nie dotyczy

Zobacz też