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é hodnotouDOTNET_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=0
prostř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
Doporučená akce
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.