小编e_C*_*hiP的帖子

在Windows 8.1上构建的.NET 4.0程序集不适用于较低的Windows版本

我们有一个项目,包括使用Marshall的c ++核心库和.NET包装器(2.0和4.0).构建机器具有Windows 8.1操作系统.

C++核心和.NET 2.0包装器是使用MSVC 2005构建的,并且在具有较低Windows版本的其他机器上运行良好.

.NET 4.0包装器使用Microsoft SDK 7.1构建.库在构建​​机器上运行良好,但在其他机器(安装了.NET 4.0)上崩溃,并出现以下错误:

Exception: System.MissingMethodException: Method not found: 'IntPtr System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(!!0)'.
Run Code Online (Sandbox Code Playgroud)

似乎包装器是使用更高版本的.NET构建的,我不知道如何解决这个问题.据我所知,虽然它们不向后兼容,但在构建时无法强制使用特定版本的.NET 4.x.

.net c# c++ marshalling windows-8.1

5
推荐指数
1
解决办法
1853
查看次数

标签 统计

.net ×1

c# ×1

c++ ×1

marshalling ×1

windows-8.1 ×1