Forge
csharp551a3611
1using System.Collections.Immutable;
2
3namespace RoslynMcp.ServiceLayer;
4
5/// <summary>
6/// Глобальные свойства MSBuild для всех вызовов <see cref="Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace"/> в RoslynMcp.
7/// <list type="bullet">
8/// <item><description><c>RoslynMcpWorkspace=true</c> — потребители (например CascadeIDE) могут не подключать project-reference на локальные анализаторы,
9/// чтобы сборка анализатора не конфликтовала с удержанием того же DLL в памяти процесса RoslynMcp.</description></item>
10/// </list>
11/// </summary>
12public static class RoslynMcpWorkspaceProperties
13{
14 /// <summary>Совпадает с прежней логикой <c>GetDiagnostics</c>: полноценная компиляция и source generators, не design-only.</summary>
15 public static ImmutableDictionary<string, string> MsBuild { get; } =
16 ImmutableDictionary.CreateRange<string, string>([
17 new("DesignTimeBuild", "false"),
18 new("SkipCompilerExecution", "false"),
19 new("RoslynMcpWorkspace", "true"),
20 ]);
21}
22
View only · write via MCP/CIDE