【发布时间】:2017-03-07 08:37:15
【问题描述】:
我在项目的根文件夹下有一个证书。项目名称是 SingleSignOn,但我无法使用 GetManifestResourceStream 内置方法读取该方法。
源代码是
namespace SingleSignOn
{
public class Program
{
static void Main(string[] args)
{
var assembly = typeof(Program).Assembly;
var super = assembly.GetManifestResourceNames();
using (var stream = assembly.GetManifestResourceStream("SingleSignOn.idsrv3test.pfx"))
{
}
}
}
}
我从所说的内置方法GetManifestResourceStream得到NULL
我不知道我错过了什么。该证书的 URL 是https://github.com/IdentityServer/IdentityServer3.Samples/blob/master/source/Certificates/idsrv3test.pfx
请帮助我如何阅读证书。
【问题讨论】:
-
右键pfx文件->属性->构建动作,将其设为“嵌入式资源”
-
你为什么要读那把钥匙? .net 签名会自动完成。
-
该程序集的默认命名空间是什么(项目属性中的命名空间)?因为那是 GetManifestResourceStream 用来定位资源的。
-
正确猜测程序集和资源流名称通常是一件危险的事情。这就是为什么您可以使用 Project > Properties > Resources 来避免编写这样的代码的原因。您可以使用 ildasm.exe 等反编译器仔细检查流名称。双击清单以查看 .mresource 名称。
-
@HansPassant 不是资源名称总是 DefaultNamespace.Folder.SubFolder.File?
标签: c# .net ssl resources .net-assembly