From 92fd8b246f8ce508730bfde0ca8e7f22cf5752f8 Mon Sep 17 00:00:00 2001 From: Eirik Tsarpalis Date: Tue, 1 Jul 2025 13:58:31 +0300 Subject: [PATCH] Fix relative path resolution in sample app. (#572) * Fix relative path resolution in sample app. * Update samples/QuickstartClient/Program.cs * Fix build --- samples/QuickstartClient/Program.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/samples/QuickstartClient/Program.cs b/samples/QuickstartClient/Program.cs index aa25db7..423af62 100644 --- a/samples/QuickstartClient/Program.cs +++ b/samples/QuickstartClient/Program.cs @@ -3,6 +3,8 @@ using Microsoft.Extensions.AI; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using ModelContextProtocol.Client; +using System.Diagnostics; +using System.Runtime.CompilerServices; var builder = Host.CreateApplicationBuilder(args); @@ -89,6 +91,12 @@ static (string command, string[] arguments) GetCommandAndArguments(string[] args [var script] when script.EndsWith(".py") => ("python", args), [var script] when script.EndsWith(".js") => ("node", args), [var script] when Directory.Exists(script) || (File.Exists(script) && script.EndsWith(".csproj")) => ("dotnet", ["run", "--project", script]), - _ => ("dotnet", ["run", "--project", "../QuickstartWeatherServer"]) + _ => ("dotnet", ["run", "--project", Path.Combine(GetCurrentSourceDirectory(), "../QuickstartWeatherServer")]) }; +} + +static string GetCurrentSourceDirectory([CallerFilePath] string? currentFile = null) +{ + Debug.Assert(!string.IsNullOrWhiteSpace(currentFile)); + return Path.GetDirectoryName(currentFile) ?? throw new InvalidOperationException("Unable to determine source directory."); } \ No newline at end of file