""" Dotnet executable resolution """ from .utils import OSUtils class DotnetCliResolver(object): def __init__(self, executable_search_paths=None, os_utils=None): self.binary = "dotnet" self.executable_search_paths = executable_search_paths self.os_utils = os_utils if os_utils else OSUtils() @property def exec_paths(self): # look for the windows executable paths = self.os_utils.which("dotnet.exe", executable_search_paths=self.executable_search_paths) if not paths: # fallback to the non windows name without the .exe suffix paths = self.os_utils.which("dotnet", executable_search_paths=self.executable_search_paths) if not paths: raise ValueError("No dotnet cli executable found!") return paths