следовать до: OpenGL4Net WM_PAINT does not exist?OpenGL4Net System.BadImageFormatException
Я до сих пор внимательно следит: https://sourceforge.net/p/ogl4net/wiki/Tutorials
Программа, как она в настоящее время составляет:
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenGL4NET;
namespace pads2
{
class Program : Form
{
private const int WM_PAINT = 15;
RenderingContext rc;
static void Main(string[] args)
{
Program program = new Program();
program.Init();
Application.Run(program);
}
// required for open GL
void Init()
{
rc = RenderingContext.CreateContext(this);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
}
void Render()
{
gl.Clear(GL.COLOR_BUFFER_BIT);
// here is the right place to draw all your scene
rc.SwapBuffers();
}
// change window size
protected override void OnSizeChanged(EventArgs e)
{
gl.Viewport(0, 0, ClientSize.Width, ClientSize.Height);
// projection matrix may also need adjusting
}
// required for open GL
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_PAINT: Render(); break;
default: base.WndProc(ref m); break;
}
}
}
}
Q: При условии, что я правильно ли внедряя учебник, что я могу сделать с ошибкой System.BadImageFormatException
на линии program.Init();
?
Дополнительно:
Дополнительная информация: Не удалось загрузить файл или сборку 'OpenGL4Net, Version = 4.3.37.24, Culture = нейтрально, PublicKeyToken = нуль' или один из его зависимостей. Была сделана попытка загрузить программу с неправильным форматом .
Это может быть связанно с предупреждением:
Было несоответствие между архитектурой процессора проекта строится «MSIL» и архитектурой процессора ссылки «OpenGL4Net», " AMD64" . Это несоответствие может привести к сбоям во время выполнения. Просьба рассмотреть возможность изменения целевой архитектуры процессора вашего проекта через Configuration Manager, чтобы выровнять архитектуру между вашим проектом и ссылками, или принять зависимость от ссылок с архитектурой процессора, которая соответствует целевой архитектуре процессора вашего проект.
Однако в соответствии с:
How do I fix the Visual Studio compile error, "mismatch between processor architecture"?
Это не должно быть проблемой. При загрузке библиотеки OpenGL4Net существует только опция (32 или 64) бит.
Учитывая, что Microsoft Intermediate Language отличается от процессора, я пытался работать в режиме деблокирования вместо режима отладки, но это не имеет никакого значения.
Это было в «Debug» (попробовав «Release») и «Any CPU». Я только что создал специально «64-битный процессор» в конфигурации сборки, и он сработал! Кажется, что VS не по умолчанию не соответствует типу процессора, установленному вашим процессором и ОС. | Discworld - Сэм Ваймс - «Было такое облегчение, что вы правы, хотя вы знали, что добрались туда, пытаясь всеми возможными способами ошибиться». – alan2here