签署 .net 核心程序集的正确方法

proper way to sign .net core assembly

我正在尝试签署一个 .net 核心库,但我不确定我是否做对了所有事情

1) 使用我调用的 VS 命令提示符 sn -k mykey.snk

2) 复制 mykey.snk 到我的项目文件夹

3) 在 project.json 中添加了密钥文件

"frameworks": {
    "netstandard1.6": {}
  },
  "buildOptions": {
    "outputName": "MyLib",
    "keyFile": "mykey.snk"
  }

这是否正确,库 (dll) 是否可用于 .net 核心和完整的 .net 4.6 应用程序?

是的,这是正确的方法。如果你查看任何 ASP.NET Core projects, like Logging,你会发现

"buildOptions": {
   "keyFile": "../../tools/Key.snk"
   ...
}

在 project.json 文件中,Key.snk 在 Tools folder. You also may check .NET Core - strong name assemblies 问题中。