oraios/serena · error · SolidLSPException
Failed to install .NET {version} runtime using install scrip
Error message
Failed to install .NET {version} runtime using install script: {e.stderr if e.stderr else e} What it means
If the dotnet install script subprocess exits non-zero (subprocess.CalledProcessError), install_dotnet_with_script wraps it in SolidLSPException including stderr. This means the download or extraction step of the .NET runtime failed.
Source
Thrown at src/serena/util/dotnet.py:152
str(dotnet_dir),
"--runtime",
"dotnet",
"--no-path",
]
# Run the install script
log.info("Running .NET install script: %s", cmd)
result = subprocess_run(cmd, capture_output=True, text=True, check=True)
log.debug(f"Install script output: {result.stdout}")
if not dotnet_exe.exists():
raise SolidLSPException(f"dotnet executable not found at {dotnet_exe} after installation")
log.info(f"Successfully installed .NET {version} runtime to {dotnet_exe}")
return str(dotnet_exe)
except subprocess.CalledProcessError as e:
raise SolidLSPException(f"Failed to install .NET {version} runtime using install script: {e.stderr if e.stderr else e}") from e
except Exception as e:
message = f"Failed to install .NET {version} runtime: {e}"
if is_windows and isinstance(e, FileNotFoundError):
message += "; pwsh, i.e. PowerShell 7+, is required to install .NET runtime. Make sure pwsh is available on your system."
raise SolidLSPException(message) from e
View on GitHub (pinned to 7fcbca7e62)
Solutions
- Read the stderr in the exception for the root cause and fix accordingly (URL, proxy, disk)
- Check network connectivity/proxy settings (HTTPS_PROXY) and retry
- Install the .NET runtime manually via system package manager instead of the script
- On Windows, ensure pwsh (PowerShell 7+) is installed since the script requires it
Example fix
// before curl -sSL https://dot.net/v1/dotnet-install.sh | bash # blocked by proxy // after export HTTPS_PROXY=http://proxy.corp:8080 wget https://dot.net/v1/dotnet-install.sh && bash dotnet-install.sh --channel 8.0
Defensive patterns
Strategy: retry
Validate before calling
import urllib.request
urllib.request.urlopen("https://builds.dotnet.microsoft.com", timeout=10) # connectivity check Try / catch
try:
path = util.install_dotnet_with_script(version)
except SolidLSPException as e:
if "install script" in str(e):
print("Check network/proxy; stderr:", e)
raise Prevention
- Configure HTTPS_PROXY in environments behind corporate proxies
- Retry transient download failures with backoff
- Install the runtime via the system package manager when the network is restricted
When it happens
Trigger: dotnet-install.sh/dotnet-install.ps1 returning a non-zero exit code — download URLs unreachable (404/offline), TLS failures, unsupported OS/arch combination, or pwsh script errors.
Common situations: Corporate proxies blocking downloads; no internet access in CI; Microsoft CDN outage; unsupported Linux distro for the install script.
Related errors
- dotnet executable not found at {dotnet_exe} after installati
- Failed to install .NET {version} runtime: {e}
- Failed to install FsAutoComplete: {e.stderr}
- Failed to install LanguageServer.jl: {result.stderr}
- LanguageServer.jl installation timed out. Please install man
AI-assisted analysis of oraios/serena@7fcbca7e62 (2026-08-29).
Data as JSON: /api/errors/7da77bc12d3fbf2f.
Report an issue: GitHub.