From a07b83a2dcf518af3c85bc016c60daf48704b6f0 Mon Sep 17 00:00:00 2001 From: Raul Santos Date: Fri, 15 Sep 2023 12:29:37 +0200 Subject: [PATCH] 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 394c0eb225bd3b9bd0419b3006367d24b34a9a8d) --- modules/mono/editor/hostfxr_resolver.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/mono/editor/hostfxr_resolver.cpp b/modules/mono/editor/hostfxr_resolver.cpp index e08823bbf78..a8f34ec3a33 100644 --- a/modules/mono/editor/hostfxr_resolver.cpp +++ b/modules/mono/editor/hostfxr_resolver.cpp @@ -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) { 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); }