我们有一个DLL(一个COM服务器),可以在32位和64位编译,但DLL使用相同的CLSID和AppID 32位版本和64位版本.这可以,还是必须改变?
原文链接:https://www.f2er.com/windows/365008.html我问这个是因为显然在64位机器上,我们不能同时注册32位版本和64位版本.如果32位客户端应用程序可以自动使用32位DLL,并且64位客户端应用程序可以自动使用64位DLL,那就太好了.
在相关的说明中,我们有客户端应用程序的源代码和Visual Studio 2005项目文件…我们如何编译同一应用程序的32位和64位版本?它是一个C#应用程序,它包含对我们的COM服务器DLL的引用,如下所示:
<ItemGroup> <COMReference Include="ComServer">
<Guid>{C1FADEA6-68FD-4F43-9FC2-0BC451FA5D53}</Guid>
<VersionMajor>830</VersionMajor> <VersionMinor>0</VersionMinor>
<Lcid>0</Lcid> <WrapperTool>tlbimp</WrapperTool> <Isolated>False</Isolated>
</COMReference> </ItemGroup>
如果事实证明我们需要一个单独的64位CLSID,我们如何在Visual Studio中“仅针对32位配置”进行此引用?或者我们必须有相同的源代码的单独项目:一个引用32位DLL,另一个引用64位DLL?