无法弄清楚 class "InitializationException" 有什么问题

Can't figure out what is wrong with class "InitializationException"

"An unhandled exception of type 'System.TypeInitializationException' occurred in Game.exe" 是我在尝试 运行 我的程序时收到的错误。它说它构建时有 0 个错误,但它不会启动,当我 运行 它处于调试状态时,这是我收到的消息。

我认为这与此有关 class:

class Sprites
{
    private static Bitmap sheet;
    private const int TILE_SIZE = 32;

    public static Bitmap loadSprite(string file)
    {
        Bitmap sprite;

        sprite = new Bitmap("Content/Sprites/" + file);

        return sprite;
    }

    public static Bitmap getSprite(int x, int y)
    {
        if (sheet == null)
            sheet = loadSprite("char.png");

        Rectangle crop = new Rectangle(x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE);
        System.Drawing.Imaging.PixelFormat format = sheet.PixelFormat;
        return sheet.Clone(crop, format);
    }
}

好像是里面的方法被调用的时候因为我运行不调用这个class里面的任何东西就可以了。我的主表单中没有其他内容,因为我刚刚开始这个。

现在我尝试使用没有任何用处的位图文件。它在 program.cs "Application.Run(new Form1());" 中的初始化行上出错。它并没有告诉我更多。我发布了我的 class 因为它 运行 在我不使用它的时候。

里面form1.cs

static Bitmap[] walkForward = { Sprites.getSprite(2, 0), Sprites.getSprite(2, 1), Sprites.getSprite(2, 2) };
    Animation walking = new Animation(walkForward, 10);

    public Form1()
    {
        InitializeComponent();
    }

完整错误输出到文本文件:

System.TypeInitializationException: The type initializer for 'Game.Form1' threw an exception. ---> System.ArgumentException: Parameter is not valid. at System.Drawing.Bitmap..ctor(String filename) at Game.Sprites.loadSprite(String file) in c:\Users\tiern\Documents\Visual Studio 2013\Projects\MoveSpites\Game\Sprites.cs:line 19 at Game.Sprites.getSprite(Int32 x, Int32 y) in c:\Users\tiern\Documents\Visual Studio 2013\Projects\MoveSpites\Game\Sprites.cs:line 27 at Game.Form1..cctor() in c:\Users\tiern\Documents\Visual Studio 2013\Projects\MoveSpites\Game\Form1.cs:line 15 --- End of inner exception stack trace --- at Game.Form1..ctor() at Game.Program.Main() in c:\Users\tiern\Documents\Visual Studio 2013\Projects\MoveSpites\Game\Program.cs:line 21

System.ArgumentException: Parameter is not valid. at System.Drawing.Bitmap..ctor(String filename) at Game.Sprites.loadSprite(String file) in c:\Users\tiern\Documents\Visual Studio 2013\Projects\MoveSpites\Game\Sprites.cs:line 19 at Game.Sprites.getSprite(Int32 x, Int32 y) in c:\Users\tiern\Documents\Visual Studio 2013\Projects\MoveSpites\Game\Sprites.cs:line 27 at Game.Form1..cctor() in c:\Users\tiern\Documents\Visual Studio 2013\Projects\MoveSpites\Game\Form1.cs:line 15

原来在磁盘上找不到文件。它从 bin 文件夹而不是项目的根目录中读取。