打开 CLR 支持导致 System.IO.FileLoadException
Turning on CLR support is causing System.IO.FileLoadException
我有一个大型遗留 C++/MFC 应用程序,它正在通过 C# class 库进行扩展。为此有一个 C++/CLI 包装器,因此遗留程序不需要打开 CLR 支持,但是在 运行 本机项目时无法通过托管代码进行调试。
打开 CLR 支持会导致 System.IO.FileLoadException 立即在 运行 程序上抛出。但是,关闭该设置后,程序会按预期运行,我只是无法在 Visual Studio 调试器中单步执行 DLL 代码。
我知道这与代码中的问题无关。我在 Visual Studio 2017 中完美运行,但由于各种原因我需要在 VS 2012 中运行它。
编辑以添加例外文本:
An unhandled exception of type 'System.IO.FileLoadException' occurred in
Unknown Module.
Additional information: Could not load file or assembly '<Project>,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Could not find or load a type. (Exception from HRESULT: 0x80131522)
使用 /GF
开关编译 DLL/executable。
转到项目属性和
C/C++->代码生成->启用字符串池-设置为“是”
从 MSDN 论坛复制
我有一个大型遗留 C++/MFC 应用程序,它正在通过 C# class 库进行扩展。为此有一个 C++/CLI 包装器,因此遗留程序不需要打开 CLR 支持,但是在 运行 本机项目时无法通过托管代码进行调试。
打开 CLR 支持会导致 System.IO.FileLoadException 立即在 运行 程序上抛出。但是,关闭该设置后,程序会按预期运行,我只是无法在 Visual Studio 调试器中单步执行 DLL 代码。
我知道这与代码中的问题无关。我在 Visual Studio 2017 中完美运行,但由于各种原因我需要在 VS 2012 中运行它。
编辑以添加例外文本:
An unhandled exception of type 'System.IO.FileLoadException' occurred in
Unknown Module.
Additional information: Could not load file or assembly '<Project>,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Could not find or load a type. (Exception from HRESULT: 0x80131522)
使用 /GF
开关编译 DLL/executable。
转到项目属性和
C/C++->代码生成->启用字符串池-设置为“是”
从 MSDN 论坛复制