diff --git a/DotNetPlugin.Impl/DotNetPlugin.Impl.csproj b/DotNetPlugin.Impl/DotNetPlugin.Impl.csproj index d508e88..14c116e 100644 --- a/DotNetPlugin.Impl/DotNetPlugin.Impl.csproj +++ b/DotNetPlugin.Impl/DotNetPlugin.Impl.csproj @@ -11,6 +11,7 @@ true $(PluginName) bin + true @@ -34,6 +35,7 @@ + build diff --git a/DotNetPlugin.Impl/McpServerConfig.cs b/DotNetPlugin.Impl/McpServerConfig.cs index 9a40230..7452292 100644 --- a/DotNetPlugin.Impl/McpServerConfig.cs +++ b/DotNetPlugin.Impl/McpServerConfig.cs @@ -15,6 +15,23 @@ public class McpServerConfig private static string _configPath; + private static string ResolveConfigDirectory() + { + var assemblyLocation = typeof(McpServerConfig).Assembly.Location; + if (!string.IsNullOrWhiteSpace(assemblyLocation)) + { + var assemblyDir = Path.GetDirectoryName(assemblyLocation); + if (!string.IsNullOrWhiteSpace(assemblyDir)) + return assemblyDir; + } + + var baseDirectory = AppDomain.CurrentDomain.BaseDirectory; + if (!string.IsNullOrWhiteSpace(baseDirectory)) + return baseDirectory; + + return Environment.CurrentDirectory; + } + /// /// Gets the path to the configuration file in the plugin directory. /// @@ -24,8 +41,7 @@ public static string ConfigPath { if (_configPath == null) { - var assemblyDir = Path.GetDirectoryName(typeof(McpServerConfig).Assembly.Location); - _configPath = Path.Combine(assemblyDir, "mcp_config.json"); + _configPath = Path.Combine(ResolveConfigDirectory(), "mcp_config.json"); } return _configPath; }