public static CSharpCompilationOptions GetCompilationOptions(this IAnalyzerResult analyzerResult) { var compilationOptions = new CSharpCompilationOptions(analyzerResult.GetOutputKind()) .WithNullableContextOptions(analyzerResult.GetNullableContextOptions()) .WithAllowUnsafe(analyzerResult.GetPropertyOrDefault("AllowUnsafeBlocks", true)) .WithAssemblyIdentityComparer(DesktopAssemblyIdentityComparer.Default) .WithConcurrentBuild(true) .WithModuleName(analyzerResult.GetAssemblyName()) .WithOverflowChecks(analyzerResult.GetPropertyOrDefault("CheckForOverflowUnderflow", false)); if (analyzerResult.IsSignedAssembly()) { compilationOptions = compilationOptions.WithCryptoKeyFile(analyzerResult.GetAssemblyOriginatorKeyFile()) .WithStrongNameProvider(new DesktopStrongNameProvider()); } return(compilationOptions); }
public static string GetSymbolFileName(this IAnalyzerResult analyzerResult) { return(Path.ChangeExtension(analyzerResult.GetAssemblyName(), ".pdb")); }