如何进行 RegAsm 以使其涵盖 32 位和 64 位?

How to do RegAsm so that it cover 32-bit and 64-bit?(如何进行 RegAsm 以使其涵盖 32 位和 64 位?)
本文介绍了如何进行 RegAsm 以使其涵盖 32 位和 64 位?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 C# 准备的 DLL 文件,我的系统是 Windows 7 64 位.当我应用 RegAsm 时,它不会将注册表添加到 64 位路径,而只会将其添加到 32 位路径.

I have a DLL file prepared by C# and my system is Windows 7 64-bit. When i apply the RegAsm its not adding the registry to 64-bit path but only adding it to 32-bit path.

"C:WindowsMicrosoft.NETFramework64v4.0.30319RegAsm.exe" /register /codebase "C:o.dll"

然后,如果我在 regedit.exe 中检查我的 GUID,我会发现它只存在于 32 位注册表路径中:HKEY_CLASSES_ROOTCLSID{...我的 guid 在这里找到 ....}

then if i check my GUID in regedit.exe i see that i have it only in 32-bit registry path: HKEY_CLASSES_ROOTCLSID{... my guid is found here ....}

而不是 HKEY_CLASSES_ROOTWow6432NodeCLSID{... not found my guid ...}

因此,我对此还有其他问题.谁能建议发生了什么以及为什么它不生成 32 位和 64 位注册表项?"

As a result i have other issues for this. Can anyone please suggest what is going on and why its not making 32-bit and 64-bit registry entries?"

推荐答案

你有它倒退.Wow6432Node 是 32 位特定数据所在的位置.使用 32 位 regasm(来自 Framework 目录,而不是 Framework64 目录)在 Wow6432Node 中注册您的组件.

You have it backwards. The Wow6432Node is where the 32-bit specific data goes. Use the 32-bit regasm (from the Framework directory, not the Framework64 directory) to have your component registered in the Wow6432Node.

这篇关于如何进行 RegAsm 以使其涵盖 32 位和 64 位?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)