C# 单游戏内容加载异常

C# 单游戏内容加载异常,c#,xna,monogame,C#,Xna,Monogame,在Monogame中制作了一个游戏,但是当我运行它时,我得到了大量的输出,表示缺少了一堆DLL。游戏运行良好,没有崩溃,但当我出现这些错误时,我会暂停一秒钟。这通常发生在我加载一个资产时,但在该资产已经加载时不会再次发生 这是一次运行的输出 'Rougelike.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c56

在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);
}
publicstaticcontentmanager=null;
公共静态字符串根目录
{
获取{return Manager.RootDirectory;}
设置{Manager.RootDirectory=value;}
}
公共静态T加载(字符串assetName)
{
返回管理器加载(assetName);
}
它的用法如下:

SpriteFont font = Content.Load<SpriteFont>("fonts/someFont");
SpriteFont=Content.Load(“字体/someFont”);

有什么猜测吗?

首先让我们看一下错误。

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

我相信这些“无法找到或打开PDB文件”的错误没有什么好担心的。PDB文件在VisualStudio中调试时使用,因此您不能进入这些DLL中包含的代码可能会有点恼人,但除此之外,它不应该影响您的游戏

引发异常:mscorlib.dll中的“System.IO.FileNotFoundException”

引发异常:MonoGame.Framework.dll中的“Microsoft.Xna.Framework.Content.ContentLoadException”

我认为这两者是密切相关的。我相信第一个例外是触发了第二个例外,在MonoGame的内心深处

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

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

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

是否使用VS 2017?您可能会遇到一些问题,在我的例子中,我独立启动了MonoGame的内容管道工具,并构建了所有内容文件夹AddExisting Item>(您的精灵)>Build。可能不是最好的解决方案,但它可以让您工作;)

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