有没有办法制作一个包装器clr:对于C ++中不受管理的项目安全吗?
我的小故事以这种方式开始,
“男孩,你必须做一个项目'C#COM Interop'但是这个必须使用'C ++库'并且必须只产生'one'(dll COM)。”
好的,经过几天的搜索,我意识到可以通过两种方式使用C ++库:在Resources中添加并使用PInvoke调用或创建包装器C ++ / CLI。使用PInvoke我不能只有一个dll(对吗?)。所以我选择了第二个选项“wrapper C ++ / CLI”。一开始似乎很容易,我重新编译Visual Studio 2005到2010的库,创建一个CLR项目(用keypair.snk并重新签名)添加了库。作品! \ 0 /现在我将使用ILMerge,ohhhoo这是什么?只有clr:安全吗?为什么?好的,我尝试将C ++ / CLI重新编译为clr:safe但是错误出现了......
我该如何解决这个问题?
先谢谢了,
答案 0 :(得分:0)
ILMerge不是正确的工具。
相反,您将C#编译为.netmodule,并将其与所有C ++ / CLI目标文件一起传递给C ++ / CLI链接器。