首页 > 解决方案 > 如何使用自己的密钥对签署 Roslyn

问题描述

我有兴趣自己编译 Roslyn 以使用他的内部类,如RegexParser和其他类。

而且我还应该能够对文件进行签名,以便在 VSTO 插件中使用它们。

我在这里看到了一个关于如何签署 Roslyn 的教程,但它是一个旧教程,现在不再适合 Roslyn。

我从这里下载并构建了代码 但它由以下人员签名:

C:\Users\google-dev\.nuget\packages\microsoft.dotnet.arcade.sdk\1.0.0-beta.21161.1\tools\snk\35MSSharedLib1024.snk

用我自己的密钥签署 Roslyn 的正确方法是什么?我该如何设置DelaySign = false

标签: c#.netvstoroslynstrongname

解决方案


要访问 Roslyn 的内部类,您不必自己重新编译 Roslyn。而是使用IgnoresAccessChecksToGenerator,它可以让你访问你需要的所有内部类,你也可以在 VSTO 中使用它。

生成IgnoresAccessChecksTo属性和引用程序集以允许在编译时访问内部

来自github

生成所有内部类型和成员公开的引用程序集,并应用IgnoresAccessChecksTo属性


推荐阅读