我有一个使用托管c ++的dll并使用本机c ++库。然后,该dll由c#接口消耗。您可能已经猜到,托管c ++只是互操作代码。这里没有任何东西被导出。
我们有一个新要求,即托管c ++和本机c ++都可以通过外部c ++可执行文件访问(用于内部测试)。所以我在考虑将托管的c ++层更改为lib,并且有一个单独的项目通过使用托管和本机库来创建dll。那里不会有任何新代码。它只是一个消耗两个库的项目。然后,我们可以有另一个项目也消耗这两个库,并添加一些测试代码。但是我在使这个工作上遇到了很大的困难。我无法让IDE生成我的DLL。有人对我有什么建议吗?
答案 0 :(得分:1)
您无法从托管代码创建静态链接库,VS构建系统中不支持它。托管代码的存储单元是一个程序集。它们在构建时没有链接,它在运行时发生。请注意,需要管理您的测试程序以测试您的包装器。