0

私は単純な 2D ゲーム エディターに取り組んでいます。.cs ファイルから読み取り、コンパイルして、実行時にオブジェクト (Unity3D など) にアタッチし、そのプロパティを編集できるようにしたいと考えています。

現在、それらを .dll ファイルにコンパイルしています。問題は、元の .cs ファイルを実行時にも更新できるため、もう一度再コンパイルしようとしたときです (.dll が原因でファイルが既に使用されていると表示されます)。私が推測するアセンブリにロードされました)

これを行う別の方法はありますか?

フロー:

1 - ユーザーがスクリプト (.cs ファイル) を作成/編集します。
2 - ユーザーが関数を呼び出してスクリプトをコンパイル
します。 3 - プログラムがすべての .cs ファイルをコンパイルし、.DLL ファイルを更新します。

ありがとう。

4

1 に答える 1

0

DLLをプロジェクトにリンクするのではなく、LoadLibrary()またはLoadLibraryEx()を使用してロードし、その関数を呼び出す前(および再コンパイルを行った後)に、FreeLibrary()を呼び出してから再コンパイルすることを検討してください。コンパイル。

于 2013-03-13T16:01:22.770 に答える