我使用C#语言开发一个com dll,并通过COM使用C ++调用托管代码,成功。 然后我通过obfuscar对C#com dll进行模糊处理,不包括接口和com导出的类。 我使用C ++调用COM dll,在创建com对象时失败。 为什么?是否应该排除任何其他类或接口? 谢谢。
答案 0 :(得分:0)
首先使用以下命令取消注册旧的.NET程序集(未混淆):
regasm /u yourassembly
然后使用/ tlb选项再次注册它以再次生成tlb文件,然后使用新的tlb文件编译C ++项目。命令是:
regasm /tlb yourassemly
注意,regasm.exe在C:\ Windows \ Microsoft.NET \ Framework {.NET版本号}下,不同版本的.NET有不同的regasm.exe,同时它有32位和64位转换,你必须使用正确的。