Show/Hide Toolbars

XSharp

 

指定包含加密密钥的文件名。

语法

-keyfile:file

参数

file包含强名称密钥的文件名。

备注

使用该选项时,编译器会将指定文件中的公钥插入程序集清单,然后用私钥签署最终程序集。要生成密钥文件,请在命令行键入 sn -k file。

 

如果使用 -target:module 进行编译,密钥文件的名称将保存在模块中,并在使用 -addmodule 编译程序集时并入程序集中。

 

你也可以使用 -keycontainer 将加密信息传递给编译器。如果需要部分签名的程序集,请使用 -delaysign。

 

如果在同一编译中同时指定了 -keyfile 和 -keycontainer(通过命令行选项或自定义属性),编译器将首先尝试密钥容器。如果成功,程序集将根据密钥容器中的信息签名。如果编译器找不到密钥容器,它将尝试使用 -keyfile 指定的文件。如果成功,程序集将使用密钥文件中的信息签名,密钥信息将被安装到密钥容器中(类似于 sn -i),这样在下一次编译时,密钥容器将是有效的。

 

请注意,密钥文件可能只包含公钥。

 

更多信息,请参阅创建和使用强命名程序集和延迟签名程序集。

 

要在 Visual Studio 开发环境中设置该编译器选项,请执行以下操作

 

1.打开项目的 "属性"页面

2.点击 Build 属性页

3.修改 "Code Signing KeyFile(代码签名密钥文件) "属性。

4.查看属性页

 

您可以通过 AssemblyOriginatorKeyFile 以编程方式访问该编译器选项。