【问题标题】:Monogame Content Load ExceptionMonogame 内容加载异常
【发布时间】:2017-04-10 05:38:58
【问题描述】:

在 Monogame 中制作了一个游戏,但是当我运行它时,我得到了大量的输出,说缺少一堆 DLL。游戏运行良好,因为它不会崩溃,但当我遇到其中一个错误时,我会冻结一秒钟。它通常在我加载资产时发生,但在该资产已加载时不会再次发生。

这是一次运行的输出。

'Rougelike.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Symbols loaded.

'Rougelike.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\Rougelike.exe'. Symbols loaded.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\GurmLibX.dll'. Symbols loaded.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\MonoGame.Framework.dll'. Module was built without symbols.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'. Symbols loaded.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Symbols loaded.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'. Symbols loaded.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\SharpDX.RawInput.dll'. Cannot find or open the PDB file.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\SharpDX.dll'. Cannot find or open the PDB file.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Symbols loaded.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\SharpDX.Direct3D11.dll'. Cannot find or open the PDB file.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\SharpDX.DXGI.dll'. Cannot find or open the PDB file.

Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.dll

Exception thrown: 'Microsoft.Xna.Framework.Content.ContentLoadException' in MonoGame.Framework.dll

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\SharpDX.Direct2D1.dll'. Cannot find or open the PDB file.

Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.dll

Exception thrown: 'Microsoft.Xna.Framework.Content.ContentLoadException' in MonoGame.Framework.dll

Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.dll

Exception thrown: 'Microsoft.Xna.Framework.Content.ContentLoadException' in MonoGame.Framework.dll

Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.dll

Exception thrown: 'Microsoft.Xna.Framework.Content.ContentLoadException' in MonoGame.Framework.dll

Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.dll

Exception thrown: 'Microsoft.Xna.Framework.Content.ContentLoadException' in MonoGame.Framework.dll

Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.dll

Exception thrown: 'Microsoft.Xna.Framework.Content.ContentLoadException' in MonoGame.Framework.dll

Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.dll

Exception thrown: 'Microsoft.Xna.Framework.Content.ContentLoadException' in MonoGame.Framework.dll

Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.dll

Exception thrown: 'Microsoft.Xna.Framework.Content.ContentLoadException' in MonoGame.Framework.dll

Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.dll

Exception thrown: 'Microsoft.Xna.Framework.Content.ContentLoadException' in MonoGame.Framework.dll

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\SharpDX.XInput.dll'. Cannot find or open the PDB file.

Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.dll

Exception thrown: 'Microsoft.Xna.Framework.Content.ContentLoadException' in MonoGame.Framework.dll

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\SharpDX.XAudio2.dll'. Cannot find or open the PDB file.

The program '[21932] Rougelike.exe: Program Trace' has exited with code 0 (0x0).
The program '[21932] Rougelike.exe' has exited with code -1 (0xffffffff).

这是我用来加载资源的代码:

GurmLibX.Framework.GameGLX.cs:游戏

Core.Content.Manager = Content;

GurmLibX.Framework.Content.cs

public static ContentManager Manager = null;

public static string RootDirectory
{
    get { return Manager.RootDirectory; }
    set { Manager.RootDirectory = value; }
}

public static T Load<T>(string assetName)
{
    return Manager.Load<T>(assetName);
}

使用如下:

SpriteFont font = Content.Load<SpriteFont>("fonts/someFont");

你猜到为什么会这样吗?

【问题讨论】:

    标签: c# xna monogame


    【解决方案1】:

    首先让我们看看错误。

    “Rougelike.exe”(CLR v4.0.30319:Rougelike.exe):已加载“D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\SharpDX.DXGI.dll”。无法找到或打开 PDB 文件。

    我相信这些“无法找到或打开 PDB 文件”错误无需担心。在 Visual Studio 中调试时会使用 PDB 文件,因此您无法单步执行这些 DLL 中包含的代码可能会有点烦人,但除此之外它不会影响您的游戏。

    抛出异常:mscorlib.dll 中的“System.IO.FileNotFoundException”

    抛出异常:MonoGame.Framework.dll 中的“Microsoft.Xna.Framework.Content.ContentLoadException”

    我认为这两者密切相关。我相信第一个异常触发了 MonoGame 内部深处的第二个异常。

    基本上,当Content.Load 方法试图加载您的内容文件时,找不到它们。

    SpriteFont font = Content.Load<SpriteFont>("fonts/someFont");
    

    通常发生的情况是MonoGame's Content Pipeline tool 在构建时处理内容,并将内容文件输出到可执行文件旁边的 Content 文件夹。

    文件夹的确切路径因设置而异,但在您的情况下(根据错误消息),它应该类似于:

    D:\Dropbox\Projects\GurmLibX\Rougelike\bin\Windows\Release\Content
    

    查看该文件夹,看看是否可以找到 Pipeline 生成的 XNB 文件。

    【讨论】:

      【解决方案2】:

      您使用的是 VS 2017 吗?您可能会遇到一些问题,就我而言,我单独启动了 MonoGame 的 Content Pipeline 工具并构建了所有 Content 文件夹 Add Existing Item > (Your Sprite) > Build。可能不是最好的解决方案,但它可以让你工作;)

      【讨论】:

        猜你喜欢
        • 2013-05-21
        • 1970-01-01
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多