We have several projects that use p4.net , a managed DLL, which in turn depends on p4dn.dll, a 32-bit unmanaged DLL. This has problems in x64 systems, so I had to go to each project that uses p4.net and set its processor type to x86.
If I understand the problem correctly, then when .NET loads exe, it checks the manifest, and if it does not do what works best for the processor type. Then, when it starts up in a 32-bit dll, it barfs.
I can go to every project that uses p4.net and mark it as 32-bit. But we have a lot of them. In addition, people are going to continue to create new ones and forget to install 32-bit ones, and then in the future we will again encounter this problem when someone tries to use it on x64.
My question is this: is there a way to automatically load .NET into any application that uses p4dn.dll as a 32-bit one? Otherwise, is there a way for the IDE to detect this and fail to build?
Or can you create a .manifest file that I can place next to p4api or p4dn.dll so that all applications using them will automatically start in 32 bits?
scobi source
share