具体是这样的,我需要在 vs2008 的环境中写 dll ;我希望可以在这个 dll 中加载和运行 CIL assembly 。
由于目标的运行环境虽然都是 windows 但不一定都有 .net 运行时,于是选用了 mono 来做静态链接;但是直接编译 mono 生成的 lib 是依赖比 vs2008 高版本的 CRT 的,所以和 dll 源码 link 到一起的时候,会有各种 linker error 。
我目前的想法是,不管 dll 的生成环境用的是什么版本的 CRT ,只需要把整个 mono lib 作为一个整体(现在 mono 编译出来是多个 lib 文件),链接到所需要的 CRT 版本,然后在生成 dll 的时候在链接到一起。
这个想法可行么?
由于目标的运行环境虽然都是 windows 但不一定都有 .net 运行时,于是选用了 mono 来做静态链接;但是直接编译 mono 生成的 lib 是依赖比 vs2008 高版本的 CRT 的,所以和 dll 源码 link 到一起的时候,会有各种 linker error 。
我目前的想法是,不管 dll 的生成环境用的是什么版本的 CRT ,只需要把整个 mono lib 作为一个整体(现在 mono 编译出来是多个 lib 文件),链接到所需要的 CRT 版本,然后在生成 dll 的时候在链接到一起。
这个想法可行么?