diff --git a/clr_loader/util/find.py b/clr_loader/util/find.py index 22ba843..e6b4d13 100644 --- a/clr_loader/util/find.py +++ b/clr_loader/util/find.py @@ -1,5 +1,6 @@ import os import os.path +import platform import shutil import sys from pathlib import Path @@ -42,10 +43,14 @@ def find_dotnet_root() -> Path: prog_files = Path(prog_files) dotnet_root = prog_files / "dotnet" elif sys.platform == "darwin": - if sys.maxsize > 2**32: # is_64bits - dotnet_root = Path("/usr/local/share/dotnet/x64") - else: - dotnet_root = Path("/usr/local/share/dotnet") + dotnet_exec_paths = ( + Path("/usr/local/share/dotnet/dotnet"), + Path("/usr/local/share/dotnet/x64/dotnet")) + + for dotnet_exec in dotnet_exec_paths: + if dotnet_exec.is_file(): + dotnet_root = dotnet_exec.parent.absolute() + break if dotnet_root is not None and dotnet_root.is_dir(): return dotnet_root