C# 正在签名ASP.NET 5类库程序集

C# 正在签名ASP.NET 5类库程序集,c#,asp.net,.net,asp.net-core,asp.net-core-mvc,C#,Asp.net,.net,Asp.net Core,Asp.net Core Mvc,ASP.NET 5类库项目的输出是一个Nuget包(.nupkg),其中包含完整的.NET和DNX核心程序集 我希望将NuGet包分发给第三方开发人员。新的ASP.NET 5类库项目没有对已编译程序集进行签名的选项。是否有其他方法可以做到这一点?如果您的目标是完整的.Net Framework,则可以通过在project.json文件的编译选项中设置的“keyFile”:“c:\\keyFile.snk”属性来对程序集进行强名称签名。但是请注意,核心Clr不支持真正的强命名。相反,它只支持使用公

ASP.NET 5类库项目的输出是一个Nuget包(.nupkg),其中包含完整的.NET和DNX核心程序集


我希望将NuGet包分发给第三方开发人员。新的ASP.NET 5类库项目没有对已编译程序集进行签名的选项。是否有其他方法可以做到这一点?

如果您的目标是完整的.Net Framework,则可以通过在project.json文件的编译选项中设置
的“keyFile”:“c:\\keyFile.snk”
属性来对程序集进行强名称签名。但是请注意,核心Clr不支持真正的强命名。相反,它只支持使用公钥进行签名。如果你想走这条路,你可以在编译选项中使用
“strongName”:true
。有关更多详细信息,请参阅github

编辑


RC1中的情况发生了变化。更大的变化/改进之一是OSS能够使用.snk文件对程序集进行签名。您可以在中找到所有详细信息。随着dotnet和dnx的合并(想想:ASP.NETCore1),RC2及以后的发展将更加迅猛。我认为最大的即时变化之一是,如果没有.snk,您将无法再对OSS程序集进行签名。

看看这个。我想这还没有准备好,但至少你可以了解如何做到这一点。我可以同时使用这两种方法吗?那么完整CLR的正确签名和使用核心CLR的公钥签名?目前还没有。我为此提出了一个问题:所以事实证明你实际上可以同时使用这两种方法。我认为CoreClr程序集不能是真正的强名称,但它们可以,所以这只是关于运行编译器所使用的运行时。使用CoreClr,您只能使用FullClr伪造强名称程序集,您可以使用真实的强名称进行签名。好吧,酷,那么我们可以单独使用
keyFile
?其次,如果您的解决方案的根目录中有一个shared.snk,您将传递什么到
keyFile
?我尝试了一些斜杠,但出现了错误。这适用于我的方框
“编译选项”:{“keyFile”:“../../../Key.snk”},
。一件重要的事情-你需要在beta6不稳定位上。