System.Reflection.TargetInvocationException'发生在monogame商店游戏中的mscorlib.dll异常中

时间:2014-03-29 17:49:00

标签: windows-store-apps xna-4.0 monogame

这是我第一次在windows商店开发monogame游戏时,我在构造游戏中遇到异常

        var game = new T();

'frog.exe'(托管(v4.0.30319)):已加载'C:\ Windows \ Microsoft.Net \ assembly \ GAC_32 \ mscorlib \ v4.0_4.0.0.0__b77a5c561934e089 \ mscorlib.dll',已跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。 'frog.exe'(托管(v4.0.30319)):已加载'D:\ windows \ windows games \ storegame \ SABFROG \ frog \ bin \ Windows8 \ Debug \ AppX \ frog.exe',已加载符号。 'frog.exe'(托管(v4.0.30319)):已加载'C:\ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Runtime \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Runtime.dll',已跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。 'frog.exe'(托管(v4.0.30319)):已加载'C:\ Windows \ system32 \ WinMetadata \ Windows.UI.Xaml.winmd',跳过加载符号。模块已优化,调试器选项“Just My Code”已启用 'frog.exe'(托管(v4.0.30319)):已加载'D:\ windows \ windows games \ storegame \ SABFROG \ frog \ bin \ Windows8 \ Debug \ AppX \ MonoGame.Framework.DLL',已加载符号。 'frog.exe'(托管(v4.0.30319)):加载'C:\ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System \ v4.0_4.0.0.0__b77a5c561934e089 \ System.dll',跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。 'frog.exe'(托管(v4.0.30319)):已加载'C:\ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Collections \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Collections.dll',已跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。 'frog.exe'(Managed(v4.0.30319)):已加载'C:\ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Runtime.WindowsRuntime \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Runtime.WindowsRuntime.dll ',跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。 'frog.exe'(托管(v4.0.30319)):已加载'C:\ Windows \ system32 \ WinMetadata \ Windows.Graphics.winmd',跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。 'frog.exe'(托管(v4.0.30319)):已加载'C:\ Windows \ system32 \ WinMetadata \ Windows.Foundation.winmd',跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。 'frog.exe'(Managed(v4.0.30319)):已加载'C:\ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Runtime.Extensions \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Runtime.Extensions.dll ',跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。 'frog.exe'(托管(v4.0.30319)):已加载'D:\ windows \ windows games \ storegame \ SABFROG \ frog \ bin \ Windows8 \ Debug \ AppX \ SharpDX.DLL' frog.exe中发生了'System.NullReferenceException'类型的第一次机会异常 mscorlib.dll中发生了'System.Reflection.TargetInvocationException'类型的第一次机会异常 mscorlib.dll中出现“System.Reflection.TargetInvocationException”类型的异常,但未在用户代码中处理 附加信息:调用目标引发了异常。 程序'[6860] frog.exe:Managed(v4.0.30319)'已退出,代码为-1(0xffffffff)。

2 个答案:

答案 0 :(得分:2)

不确定这是否有帮助,因为我从未使用过monogame,但是当你试图实例化一个没有默认构造函数的构造函数(没有参数的构造函数)时会发生System.Reflection.TargetInvocationException,因为我怀疑来自代码。

var game = new T();

例如:

class MyClass { 

    public MyClass(string name)
    {
        //Some code
    }

    //calling new MyClass("Foo") will work
    //calling new MyClass() will cause a TargetInvocationException, because the
    //constructor is  not defined in the class
}

你知道你的代码中哪个类作为类型T传递了吗?

答案 1 :(得分:1)

实际上它解决了我在初始化游戏之前访问用户定义的方法,以便代码抛出异常。

现在我在load方法中调用那些方法它工作得很好!!