.net - Interop assembly pointer length -
Why ever changes the SAM pointer parameters in Visual Studio COM libraries to uint
Ever Ulong
? I have a com library where there are some ways like parameters, such as
[in] ULONG_PTR
When I use this library on my desktop computer Let me render the interop assembly change ULONG_PTR
to uint
. When I do this on my laptop, it is converted to UlhoneG
. Problems arise when sharing projects between machines, I may store interop assemblies in SVN with other projects, but for example, after updating the COM library, I need to reproduce it again. .
The system is:
Desktop laptop - Windows Vista Professional 64-bit - Windows 7 Ultimate 64-bit - Visual Studio 2008 Professional - Visual Studio 2008 Team System (SP1) Development Edition (SP1) - Net Framework 3.5 SP1 - Net Framework 3.5 SP1
The UAC is enabled and the Visual Studio is run as an administrator.
I will try to apply the Visual Studio 2008 SP1 on the laptop, if it has any effect.
Edit: No effect on the installed SP1 on the laptop. Update:
.dll reads. This is precisely why this is the reason the desktop shows UIT for pointers, while the laptop shows it.Now why does it do this? The Devenv process on both computers operates under WoW64.
While running the program, this process uses COMLibrary64.dll on both computers according to monitor. Therefore, it seems to add problem only in context.
The interop generation will try to forward the manual manually.
Is this definitely the same COM server, and 32 are not 64-bit versions? The description that you describe reflects all aspects of targeting different blames, as you probably know - 32-bit compilation targets have 32 bit compilation targets and ULONG_PTR 32 bits in 64 bits, but the native code or So it should be compiled in one time or another.
The fictional "true" translation would be UIintPtr
, but whether it depends on the structure. The NET client process is running, compared to its requirement, whether the COM server
Comments
Post a Comment