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;
}