From 587551a9bcb176937df0f6134a3b5b203d775299 Mon Sep 17 00:00:00 2001 From: Eirik Tsarpalis Date: Mon, 30 Jun 2025 15:50:18 +0300 Subject: [PATCH 1/3] Fix relative path resolution in sample app. --- samples/QuickstartClient/Program.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/samples/QuickstartClient/Program.cs b/samples/QuickstartClient/Program.cs index aa25db70..9764c13f 100644 --- a/samples/QuickstartClient/Program.cs +++ b/samples/QuickstartClient/Program.cs @@ -3,6 +3,7 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using ModelContextProtocol.Client; +using System.Runtime.CompilerServices; var builder = Host.CreateApplicationBuilder(args); @@ -89,6 +90,16 @@ static void PromptForInput() [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) +{ + if (string.IsNullOrWhiteSpace(currentFile)) + { + throw new ArgumentException(nameof(currentFile)); + } + + return Path.GetDirectoryName(currentFile) ?? throw new InvalidOperationException("Unable to determine source directory."); } \ No newline at end of file From 7780f051b4e29b687e4e9e37b08180ae414ba829 Mon Sep 17 00:00:00 2001 From: Eirik Tsarpalis Date: Tue, 1 Jul 2025 13:42:55 +0300 Subject: [PATCH 2/3] Update samples/QuickstartClient/Program.cs --- samples/QuickstartClient/Program.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/samples/QuickstartClient/Program.cs b/samples/QuickstartClient/Program.cs index 9764c13f..eaabb13c 100644 --- a/samples/QuickstartClient/Program.cs +++ b/samples/QuickstartClient/Program.cs @@ -96,10 +96,7 @@ [var script] when Directory.Exists(script) || (File.Exists(script) && script.End static string GetCurrentSourceDirectory([CallerFilePath] string? currentFile = null) { - if (string.IsNullOrWhiteSpace(currentFile)) - { - throw new ArgumentException(nameof(currentFile)); - } + Debug.Assert(!string.IsNullOrWhiteSpace(currentFile)); return Path.GetDirectoryName(currentFile) ?? throw new InvalidOperationException("Unable to determine source directory."); } \ No newline at end of file From e4dcde1147894eda83849db81d50147f0326c934 Mon Sep 17 00:00:00 2001 From: Eirik Tsarpalis Date: Tue, 1 Jul 2025 13:48:08 +0300 Subject: [PATCH 3/3] Fix build --- samples/QuickstartClient/Program.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/QuickstartClient/Program.cs b/samples/QuickstartClient/Program.cs index eaabb13c..423af627 100644 --- a/samples/QuickstartClient/Program.cs +++ b/samples/QuickstartClient/Program.cs @@ -3,6 +3,7 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using ModelContextProtocol.Client; +using System.Diagnostics; using System.Runtime.CompilerServices; var builder = Host.CreateApplicationBuilder(args); @@ -97,6 +98,5 @@ [var script] when Directory.Exists(script) || (File.Exists(script) && script.End 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