Luaで.NETCLRを使用しようとしています。最初の行の.luaファイルには、次のものがあります。
「luanet」が必要
dllをロードできますが、すぐにエラーが発生します:
luanet.dllからモジュール'luanet'をロード中にエラーが発生しました:luanet.dll:1:'='は"の近くにあります
インターネットを検索し、このluanet.dllの3つの異なるバージョンをダウンロードして試しましたが、すべてのバージョンで同じエラーが発生しました。
私はほとんど忘れています - Lua スクリプトの "package.path" を "luanet.dll" が存在する場所に明示的に設定する必要もありました。LUA_PATH 環境変数のパスには正しいパスがありましたが、何らかの理由で、Lua スクリプトの次の行の前に設定する必要がありました。
「ルアネット」が必要
この問題を解決しましたが、それが最善の解決策であったかどうかはわかりません。ビルド設定の「プラットフォーム ターゲット」を「任意の CPU」から「x86」に変更し、luanet DLL と LuaInterface アセンブリを再ビルドするだけでした。また、LuaInterface アセンブリを使用していた C# アプリケーションで、同じビルドの選択を "x86" に変更する必要がありました。
誰かがより優れた、またはより雄弁な解決策を知っている場合は、それを伝えてください。