Sdílet prostřednictvím


Vyhledávání na více úrovních je zakázané.

V systému Windows už aplikace .NET závislé na rozhraních nehledejte architektury v několika umístěních instalace.

Předchozí chování

V předchozích verzích hledala aplikace .NET závislá na rozhraních v několika umístěních instalace ve Windows. Umístění:

  • Při spuštění aplikace přes dotnet podadresáře relativní ke spustitelnému dotnet souboru.
  • Při spuštění aplikace prostřednictvím spustitelného souboru (apphost), umístění určené hodnotou DOTNET_ROOT proměnné prostředí (pokud je nastaveno).
  • Globálně zaregistrované umístění instalace v HKLM\SOFTWARE\dotnet\Setup\InstalledVersions<arch>\InstallLocation (pokud je nastaveno ).
  • Výchozí umístění instalace % ProgramFiles%\dotnet (nebo %ProgramFiles(x86)%\dotnet pro 32bitové procesy v 64bitovém systému Windows).

Toto chování vyhledávání na více úrovních bylo ve výchozím nastavení povoleno, ale mohlo by být zakázáno nastavením proměnné DOTNET_MULTILEVEL_LOOKUP=0prostředí .

Nové chování

Aplikace, které cílí na .NET 7 nebo novější verzi, hledají pouze architektury v jednom umístění, což je první umístění, kde se nachází instalace .NET. Při spouštění aplikace přes dotnet se architektury prohledávají pouze v podadresářích vzhledem ke spustitelnému dotnet souboru. Při spouštění aplikace prostřednictvím jeho spustitelného souboru (apphost), architektury se vyhledávají pouze v prvním z následujících umístění, kde se nachází .NET:

  • Umístění určené hodnotou DOTNET_ROOT proměnné prostředí (pokud je nastaveno).
  • Globálně zaregistrované umístění instalace v HKLM\SOFTWARE\dotnet\Setup\InstalledVersions<arch>\InstallLocation (pokud je nastaveno ).
  • Výchozí umístění instalace % ProgramFiles%\dotnet (nebo %ProgramFiles(x86)%\dotnet pro 32bitové procesy v 64bitovém systému Windows).

Zavedená verze

.NET 7

Typ zásadní změny

Tato změna může ovlivnit binární kompatibilitu.

Důvod změny

Při vyhledávání na více úrovních došlo k mnoha problémům:

  • Nejasnost pro uživatele: Aplikace může vybrat globální nebo výchozí umístění instalace i přes spuštění .NET z privátní instalace.
  • Nekonzistence mezi platformami (Windows a jinými systémy než Windows)
  • Chování se často přeruší v automatizovaných systémech: nová globální instalace .NET může ovlivnit jinak izolované sestavení a testy.
  • Problémy s výkonem

Ujistěte se, že je v jednom umístění instalace .NET nainstalovaná požadovaná verze .NET. Chybové zprávy, které se vygenerují při selhání spuštění, zahrnují očekávané umístění.

Ovlivněná rozhraní API

Nezaokrouhlovat.