如何检索嵌入的xml资源?

Kev*_*ock 5 c# asp.net resources assemblies

我在我的类库中添加了一个XML文件作为嵌入式资源,方法是使用Visual Studio中的项目属性访问,然后使用Resources | 添加资源| 添加现有文件...

我试图使用以下代码访问该文件,但我不断返回null引用.有人有主意吗?

var path = Server.MapPath("~/bin/MyAssembly.dll");
var assembly = Assembly.LoadFile(path);
var stream = assembly.GetManifestResourceStream("MyNamespace.filename.xml");
Run Code Online (Sandbox Code Playgroud)

Sha*_*ler 6

我发现在Visual Studio中使用项目属性对话框的"资源"选项卡要容易得多.然后,您通过以下方式生成对资源的强类型引用:

Properties.Resources.Filename
Run Code Online (Sandbox Code Playgroud)


Mat*_*ton 3

GetManifestResourceStream 的 MSDN 页面做了这样的注释:

如果访问另一个程序集中的私有资源并且调用者没有带有 ReflectionPermissionFlag.MemberAccess 标志的 ReflectionPermission,则此方法返回空引用(在 Visual Basic 中为 Nothing)。

您是否在程序集中将该资源标记为“公共”?