dotnet/reactive · error · DirectoryNotFoundException
PlugIn host project folder not found at
Error message
PlugIn host project folder not found at {plugInHostProjectFolder} What it means
Directory check in PlugInHost.Run: the computed plug-in host project folder (plugInsFolder + launcher path) does not exist on disk, so the Gauntlet plug-in host cannot be launched; the offending input is the derived launcher subpath.
Solutions
- Ensure all PlugIn host launcher projects are present in the checkout
- Fix the launcher name mapping in PlugInHost so it matches the actual project folder name
- Restore/re-clone the repository to get the missing project folder
Example fix
// before
throw new DirectoryNotFoundException($"PlugIn host project folder not found at {plugInHostProjectFolder}"); // folder 'PlugIn.HostNetFx' missing
// after
git checkout -- Rx.NET/Test/Gauntlet/Checks/PlugIns // or rebuild solution so host project folders exist Defensive patterns
Strategy: validation
Validate before calling
var projDir = Path.Combine(plugInsRoot, launcher);
if (!Directory.Exists(projDir)) throw new DirectoryNotFoundException($"Missing launcher project folder: {projDir}"); Try / catch
try { await host.Run(tfm); }
catch (DirectoryNotFoundException ex) when (ex.Message.Contains("host project folder not found")) { /* restore checkout / fix launcher name */ } Prevention
- Ensure full checkout including all Gauntlet host projects
- Keep launcher project folder names in sync with TFM mappings
- Verify solution builds completely before running checks
When it happens
Trigger: The plug-ins folder exists but does not contain the project directory for the launcher selected from hostRuntimeTfm (folder renamed, launcher project excluded from the build/checkout).
Common situations: Partial checkouts, renamed host projects, or a TFM mapping to a launcher project that was not restored/built in this workspace.
Related errors
- PlugIns folder not found
- Failed to find Rx assembly
- Failed to find TargetFrameworkAttribute on Rx assembly
- PlugIn host build output folder not found at
- Unsupported host runtime TFM
AI-assisted analysis of dotnet/reactive@94b5d5ab91 (2026-09-15).
Data as JSON: /api/errors/f934a56c40ba09c1.
Report an issue: GitHub.
Appendix: source
Thrown at Rx.NET/Test/Gauntlet/Checks/PlugIns/PlugIn.HostDriver/PlugInHost.cs:102
}
else
{
throw new ArgumentException($"Unsupported host runtime TFM: {hostRuntimeTfm}");
}
DirectoryInfo plugInsFolder = new(
Path.Combine(AppContext.BaseDirectory, "../../../../"));
if (!plugInsFolder.Exists)
{
throw new DirectoryNotFoundException($"PlugIns folder not found: {plugInsFolder.FullName}");
}
var plugInHostProjectFolder = Path.Combine(
plugInsFolder.FullName,
launcher);
if (!Directory.Exists(plugInHostProjectFolder))
{
throw new DirectoryNotFoundException($"PlugIn host project folder not found at {plugInHostProjectFolder}");
}
var plugInHostExecutableFolder = Path.Combine(
plugInHostProjectFolder,
$"bin/{Configuration}/{hostRuntimeTfm}/");
if (!Directory.Exists(plugInHostExecutableFolder))
{
throw new DirectoryNotFoundException($"PlugIn host build output folder not found at {plugInHostExecutableFolder}");
}
var plugInHostExecutablePath = Path.Combine(
plugInHostExecutableFolder,
$"{launcher}.exe");
if (!File.Exists(plugInHostExecutablePath))
{
throw new FileNotFoundException($"PlugIn host executable not found at {plugInHostExecutablePath}");
}
var firstPlugInPath = await _plugInBuilder.GetPlugInDllPathAsync(firstPlugIn);View on GitHub (pinned to 94b5d5ab91)