SFML .NET - Windows помечает приложение как не отвечающее
У меня есть очень простое приложение, использующее привязку.NET SFML, которое должно создавать окно размером 1024 x 768 и обрабатывать событие Closed окна следующим образом (это единственный файл):
//using statements
...
namespace SFML_Snake
{
class Program
{
static void Closed(object sender, EventArgs e)
{
((RenderWindow)sender).Close();
}
static void Main(String[] args)
{
try {
RenderWindow window = new RenderWindow(new VideoMode(1024, 768), "Test");
window.Closed += Closed;
while(window.IsOpen)
{
window.WaitAndDispatchEvents();
}
} catch (Exception e) {
Console.WriteLine(e.StackTrace);
}
}
}
}
Однако, когда я запускаю приложение, через секунду или две я получаю старую скользкую зеленую полосу смерти, например:
и, поскольку ничего не выводится на консоль с добавленным мною блоком try/catch, я предполагаю (исправьте меня, если я ошибаюсь) не было исключения времени выполнения.
Так как я добавил ссылку на sfmlnet-audio-2.dll
, sfmlnet-graphics-2.dll
, sfmlnet-system-2.dll
, а также sfmlnet-window-2
и скопировал внешние библиотеки (например, csfml-window-2.dll
в проект, Debug
, а также Run
я тоже не думаю, что это связано с библиотеками.
Я уже пробовал следующее:
- Замена WaitAndDispatchEvents() обычным DispatchEvents ()
- Добавление Thread.Sleep() в цикл while
- Очистить окно и нарисовать круг
- Работа с целевым типом процессора (x86/x64)
- Изменение типа приложения с консоли на Windows
- Использование другого выпуска (2.1) SFML
Имея это в виду, может ли кто-нибудь объяснить мне, почему я получаю эту проблему и как ее исправить? Кроме того, если вам нужно больше информации, чем я предоставил, пожалуйста, сообщите мне в комментариях.