Aにフォローアップ:私はまだ密接に次のです 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、= 4.3.37.24 バージョン、カルチャニュートラル、PublicKeyToken = = null' またはその 依存関係の1つをロードできませんでした。間違った 形式のプログラムをロードしようとしました。
これが原因の警告である可能性があり:「MSIL」を建設中プロジェクト のプロセッサアーキテクチャおよびリファレンス 「OpenGL4Net」のプロセッサアーキテクチャの間に不一致があった
、 " AMD64 "この不一致は、実行時の障害を引き起こす可能性があります。 プロジェクトのターゲットプロセッサアーキテクチャをConfiguration Managerで変更して、 アーキテクチャをプロジェクトと参照の間に配置するか、または と一致するプロセッサアーキテクチャの参照に依存する を使用してください。プロジェクト。しかしに従って は
:
How do I fix the Visual Studio compile error, "mismatch between processor architecture"?
これは問題にはなりません。 OpenGL4Net DLLをダウンロードするときには、(32または64)ビットのオプションしかありません。
Microsoft Intermediate Languageはプロセッサと同じではないため、デバッグモードではなくリリースモードで実行しようとしましたが、違いはありません。
「デバッグ」(「リリース」を試した)と「任意のCPU」にありました。私はちょうどビルドの設定で具体的に "64ビットCPU"を作成し、それは働いた!あなたのCPUとOSが設定されているCPUの種類は、VSがデフォルトになっていないようです。 | Discworld - Sam Vimes - 「間違っている可能性のあるあらゆる方法を試してみてください」 – alan2here