【发布时间】:2017-12-10 09:52:55
【问题描述】:
是否可以对类库 netcore dll 进行签名?
我创建了一个简单的net core类库项目,代码如下:
public class Test
{
public static string TestMethod(string test)
{
return "Hello " + test+ "!";
}
}
我去了项目属性,标签签名,检查了“签署程序集”选项并选择了一个 pfx 文件。
构建项目,一切正常。
然后我使用以下代码创建了一个 net core 控制台应用程序项目:
static void Main(string[] args)
{
Console.WriteLine("Start...");
try
{
string s = Test.TestMethod("123");
Console.WriteLine("Retrieved: " + s);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
为了引用该项目,我添加了该项目作为参考。左键单击,添加参考,项目并选择项目。在 IDE 中执行时一切正常。
然后我想构建我的 exe,所以我去 csproj 并添加以下行:
<RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
那我做
dotnet restore
一切正常,然后:
dotnet build
但它在这里失败并出现错误:
error : PFX signing not supported on .NET Core
是否可以签署网络核心 dll?如果是这样,我做错了什么?
【问题讨论】:
-
.NET Core 构建链lacks the infrastructure to deal with PFX signing。当前的实现很难以独立于平台的方式提供。您仍然可以使用密钥为程序集提供强名称,但不能使用证书对其进行签名。至少不使用 .NET Core 构建工具。