GetManifestResourceStream

GetManifestResourceStream

我有一个 Web 应用程序项目。我生成了 DLL 并将其导入到另一个项目中。我实现了 VirtualPathProvider

我关注了这个网站: http://support.microsoft.com/kb/910441/en-us?spid=8940&sid=global ,一切正常,直到我添加另一个网站管理员。

  • 我添加了 site_export.master 并将其构建操作更改为嵌入式资源。
  • 我更改了我的页面以使用新的站点母版。
  • GetManifestResourceStream() 当我加载 null 时返回 site_export.master
  • 我调用 GetManifestResourceNames() 来检查 site_export.master 是否存在于 DLL 中,它确实存在。它在列表中。所有的 namespace 都匹配。我没有在这里列出 namespace 。

  • 为什么 GetManifestResourceStream() 不能加载我的新 site_export.master ?它加载 site.master 就好了。我知道我的 DLL 已加载,因为我可以看到 DLL 中的其他文件。

    最佳答案

    请记住以下问题...

    步骤 1. 将构建操作集设置为嵌入资源请参见

    C#’s GetManifestResourceStream Gotcha

    步骤 2. 使用 namespace.resourcename 参见 GetManifestResourceStream() returns null ?

    实际上,如果访问另一个程序集中的私有(private)资源并且调用方没有带有 ReflectionPermission 标志的 ReflectionPermissionFlag.MemberAccess,则此方法返回 null。

    关于c# - 为什么在调用 GetManifestResourceNames 时,资源名称存在时 GetManifestResourceStream 返回 null?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10726857/

    10-15 06:17