2015-12-30 3 views
0

Сделал игру в Monogame, но когда я запустил ее, я получаю тонну вывода, говорящей, что отсутствует куча DLL. Игра отлично работает в том смысле, что она не разбивается, но я замерзну на секунду, когда получу одну из этих ошибок. Обычно это происходит, когда я загружаю актив, но не повторюсь, когда этот актив уже загружен.Monogame Expression Content Load

Вот результат одного прогона.

'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"); 

Любые догадки о том, почему это происходит?

ответ

0

Сначала давайте посмотрим на ошибки.

'Rougelike.exe' (CLR v4.0.30319: Rougelike.exe): Loaded 'D: \ Dropbox \ Проекты \ GurmLibX \ Rougelike \ Bin \ Windows \ Release \ SharpDX.DXGI.dll. Не удается найти или открыть файл PDB.

Я считаю, что эти ошибки «Не могу найти или открыть файл PDB» не о чем беспокоиться. Файлы PDB используются при отладке в Visual Studio, поэтому может быть немного досадно, что вы не можете входить в код, содержащийся в этих DLL, но кроме этого он не должен влиять на вашу игру.

Исключение брошено: 'System.IO.FileNotFoundException' в mscorlib.dll

Исключение брошено: 'Microsoft.Xna.Framework.Content.ContentLoadException' в MonoGame.Framework.dll

Я думаю, что эти два тесно связаны. Я считаю, что первое исключение вызывает второе исключение в глубине недр 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 

Посмотрите в эту папку и посмотреть, если вы можете найти файлы XNB, сгенерированные Pipeline.

0

Вы используете VS 2017?Возможно, у вас могут возникнуть некоторые проблемы. В моем случае я запустил инструмент Content Pipeline в MonoGame самостоятельно и создал всю папку содержимого. Добавить Существующий элемент> (ваш спрайт)> Построить. Не может быть лучшим решением, но оно может позволить вам работать;)