The global store location is being searched when the DOTNET_MULTILEVEL_LOOKUP environment variable is zero (disabled). DOTNET_MULTILEVEL_LOOKUP controls whether the global locations are used when looking for the shared framework (C:\Program Files\dotnet\shared), and the change here is to also have DOTNET_MULTILEVEL_LOOKUP control whether the store global location (C:\Program Files\dotnet\store) is searched.
Commit migrated from https://github.com/dotnet/core-setup/commit/
88da334986d5f560c98248c2cfff6e5816cdde7a
}
// Global shared store dir
- get_global_shared_store_dirs(&args->global_shared_stores, get_arch(), init.tfm);
+ bool multilevel_lookup = multilevel_lookup_enabled();
+ if (multilevel_lookup)
+ {
+ get_global_shared_store_dirs(&args->global_shared_stores, get_arch(), init.tfm);
+ }
}
bool parse_arguments(
#include "error_codes.h"
#include "deps_format.h"
-/**
- * Multilevel Lookup is enabled by default
- * It can be disabled by setting DOTNET_MULTILEVEL_LOOKUP env var to a value that is not 1
- */
-bool multilevel_lookup_enabled()
-{
- pal::string_t env_lookup;
- bool multilevel_lookup = true;
-
- if (pal::getenv(_X("DOTNET_MULTILEVEL_LOOKUP"), &env_lookup))
- {
- auto env_val = pal::xtoi(env_lookup.c_str());
- multilevel_lookup = (env_val == 1);
- }
- return multilevel_lookup;
-}
-
void get_all_fx_versions(
host_mode_t mode,
const pal::string_t& own_dir,
}
return true;
}
+
+/**
+* Multilevel Lookup is enabled by default
+* It can be disabled by setting DOTNET_MULTILEVEL_LOOKUP env var to a value that is not 1
+*/
+bool multilevel_lookup_enabled()
+{
+ pal::string_t env_lookup;
+ bool multilevel_lookup = true;
+
+ if (pal::getenv(_X("DOTNET_MULTILEVEL_LOOKUP"), &env_lookup))
+ {
+ auto env_val = pal::xtoi(env_lookup.c_str());
+ multilevel_lookup = (env_val == 1);
+ }
+ return multilevel_lookup;
+}
bool skip_utf8_bom(pal::ifstream_t* stream);
bool get_env_shared_store_dirs(std::vector<pal::string_t>* dirs, const pal::string_t& arch, const pal::string_t& tfm);
bool get_global_shared_store_dirs(std::vector<pal::string_t>* dirs, const pal::string_t& arch, const pal::string_t& tfm);
+bool multilevel_lookup_enabled();
#endif
"--additionalprobingpath", additionalProbingPath,
appDll)
.EnvironmentVariable("COREHOST_TRACE", "1")
+ .EnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0")
.CaptureStdErr()
.CaptureStdOut()
.Execute()