C#: Hide hostfxr not found error

Godot tries to find hostfxr in two locations, the method that tries
to retrieve the location printed an error when it was not found.
So when the first location fails it was printing an error, even if
the second location succeeded, and users were left confused thinking
there was something wrong with their installation.

Now the error will only be printed when stdout verbose is enabled.
Users will still get an error later if hostfxr is not found in any
of the two locations.

(cherry picked from commit 394c0eb225)
This commit is contained in:
Raul Santos 2023-09-15 12:29:37 +02:00 committed by Yuri Sizov
parent 88afb1a8ba
commit a07b83a2dc
1 changed files with 6 additions and 1 deletions

View File

@ -320,7 +320,12 @@ bool get_dotnet_root_from_env(String &r_dotnet_root) {
bool godotsharp::hostfxr_resolver::try_get_path_from_dotnet_root(const String &p_dotnet_root, String &r_fxr_path) { bool godotsharp::hostfxr_resolver::try_get_path_from_dotnet_root(const String &p_dotnet_root, String &r_fxr_path) {
String fxr_dir = path::join(p_dotnet_root, "host", "fxr"); String fxr_dir = path::join(p_dotnet_root, "host", "fxr");
ERR_FAIL_COND_V_MSG(!DirAccess::exists(fxr_dir), false, "The host fxr folder does not exist: " + fxr_dir); if (!DirAccess::exists(fxr_dir)) {
if (OS::get_singleton()->is_stdout_verbose()) {
ERR_PRINT("The host fxr folder does not exist: " + fxr_dir + ".");
}
return false;
}
return get_latest_fxr(fxr_dir, r_fxr_path); return get_latest_fxr(fxr_dir, r_fxr_path);
} }