C# 类型为';系统异常';在mscorlib.ni.dll中发生,但未在用户代码中处理

C# 类型为';系统异常';在mscorlib.ni.dll中发生,但未在用户代码中处理,c#,windows-phone-8,monogame,C#,Windows Phone 8,Monogame,我想在Monogame Windows Phone 8项目中加载着色器,但我总是在这一行中收到以下错误消息: BinaryReader Reader = new BinaryReader(assembly.GetManifestResourceStream("Effect1.mgfxo")); 中发生“System.ArgumentNullException”类型的异常 mscorlib.ni.dll,但未在用户代码中处理 其他信息:值不能为空 如果存在此异常的处理程序,则程序可能会安全运行

我想在Monogame Windows Phone 8项目中加载着色器,但我总是在这一行中收到以下错误消息:

BinaryReader Reader = new BinaryReader(assembly.GetManifestResourceStream("Effect1.mgfxo"));
中发生“System.ArgumentNullException”类型的异常 mscorlib.ni.dll,但未在用户代码中处理

其他信息:值不能为空

如果存在此异常的处理程序,则程序可能会安全运行 继续

怎么了?如何加载该文件

我的项目:

我的代码:

#if RESOURCEFILES
    BinaryReader Reader = new BinaryReader(File.Open(@"..\\..\\..\\Content\\Effect1.mgfxo", FileMode.Open));
#else
    Assembly assembly = Assembly.GetExecutingAssembly();
    BinaryReader Reader = new BinaryReader(assembly.GetManifestResourceStream("Effect1.mgfxo"));
#endif
    distortionEffect = new Effect(GraphicsDevice, Reader.ReadBytes((int)Reader.BaseStream.Length));

那么,
Effect1.mgfxo
是否是嵌入式资源?如果是,您确定它嵌入在根目录中吗?查看要检查的
Assembly.GetManifestResourceNames
。我的项目中有一个名为Content的文件夹,Effect1.mgfxo在该文件夹中。您是否按照我的建议使用了Assembly.GetManifestResourceNames?我如何使用它?我该怎么办?打电话给它,看看它会返回什么。检查您的资源是否在其中,如果在其中,是否有其他名称(例如
Content.Effect1.mgfxo