我有一个C#编写的DLL文件,我的系统是Windows 7 64位。 当我应用 RegAsm 时,它不会将注册表添加到 64 位路径,而只会将其添加到 32 位路径。
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" /register /codebase "C:\o.dll"
然后,如果我在 regedit.exe 中检查我的 GUID,我会发现它只存在于 32 位注册表路径中:HKEY_CLASSES_ROOT\CLSID\{...我的 guid 位于此处....}
而不是 HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{... not found my guid ...}
因此,我还有其他问题。任何人都可以建议发生了什么以及为什么它不生成 32 位和 64 位注册表项吗?”
最佳答案
你把它倒过来了。 Wow6432Node 是 32 位特定数据所在的位置。使用 32 位 regasm(来自 Framework 目录,而不是 Framework64 目录)将您的组件注册到 Wow6432Node 中。
关于c# - 如何做 RegAsm 使其涵盖 32 位和 64 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24451812/