我有以下问题:
我有原生c代码作为。api,需要通过一些函数定义扩展以适应我们的功能。我可以适应它与C代码编译它在vs解决方案,工程!
现在我想从上面提到的C代码中调用c#代码。我这样做了:
(与扩展本机C)——>(兽疥癣c++)——> (c#)
也可以。
问题:如何减少装配的数量?
到目前为止我发现了什么:
- 编译原生C,选项为CLR,无法工作,因为原生代码崩溃
- 合并管理c++和c#与ILMerge(作为构建后操作)
原因:出于安全考虑,我们希望加密尽可能多的部分。因此最好是一个。exe。
不幸的是,您不能将本机程序集打包到CLR程序集中。但是,您可以:
- 使用ILMerge将所有纯CLR程序集合并为一个;
- 静态链接所有本地程序集(C, c++和Managed c++)到一个单一的DLL。