d0500 PM 10042024
d0500 PM 10042024
d0500 PM 10042024
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
//************************
1. In VS Express 2005/8/10 VB Net or C", go to Tools -> Options.
2. In the bottom-left corner of the Options dialog, check the box that says, "Show
all settings".
3. In the tree-view on the left hand side, select "Projects and Solutions".
4. In the options on the right, check the box that says, "Show advanced build
configurations."
5. Click OK.
7. In the Platform column next to your project, click the combobox and select "".
9. Click OK.
1. I have a 32 bit third party dll which i have installed in 2008 R2 machine which
is 64 bit.
2. I have a wcf service created in .net 4.5 framework which calls the 32 bit third
party dll for process. Now i have build property set to target 'any' cpu and
deployed it to the 64 bit machine.
3. when i tried to invoke the wcf service got error "80040154 Class not registered
(Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG"
4. Now i used ProcMon.exe to trace the com registry issue and identified that the
process is looking for the registry entry at HKLM\CLSID and HKCR\CLSID where there
is no entry.
5. Came to know that Microsoft will not register the 32 bit com components to the
paths HKLM\CLSID, HKCR\CLSID in 64 bit machine rather it places the entry in HKLM\
Wow6432Node\CLSID and HKCR\Wow6432Node\CLSID paths.
6. Now the conflict is 64 bit process trying to invoke 32 bit process in 64 bit
machine which will look for the registry entry in HKLM\CLSID, HKCR\CLSID. The
solution is we have to force the 64 bit process to look at the registry entry at
HKLM\Wow6432Node\CLSID and HKCR\Wow6432Node\CLSID.
7. This can be achieved by configuring the wcf service project properties to target
to 'X86' machine instead of 'Any'.
8. After deploying the 'X86' version to the 2008 R2 server got the issue
"System.BadImageFormatException: Could not load file or assembly"
9. Solution to this badimageformatexception is setting the
'Enable32bitApplications' to 'True' in IIS Apppool properties for the right
apppool.
1. I have a 32 bit third party dll which i have installed in 2008 R2 machine which
is 64 bit.
2. I have a wcf service created in .net 4.5 framework which calls the 32 bit third
party dll for process. Now i have build property set to target 'any' cpu and
deployed it to the 64 bit machine.
3. when i tried to invoke the wcf service got error "80040154 Class not registered
(Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG"
4. Now i used ProcMon.exe to trace the com registry issue and identified that the
process is looking for the registry entry at HKLM\CLSID and HKCR\CLSID where there
is no entry.
5. Came to know that Microsoft will not register the 32 bit com components to the
paths HKLM\CLSID, HKCR\CLSID in 64 bit machine rather it places the entry in HKLM\
Wow6432Node\CLSID and HKCR\Wow6432Node\CLSID paths.
6. Now the conflict is 64 bit process trying to invoke 32 bit process in 64 bit
machine which will look for the registry entry in HKLM\CLSID, HKCR\CLSID. The
solution is we have to force the 64 bit process to look at the registry entry at
HKLM\Wow6432Node\CLSID and HKCR\Wow6432Node\CLSID.
7. This can be achieved by configuring the wcf service project properties to target
to 'X86' machine instead of 'Any'.
8. After deploying the 'X86' version to the 2008 R2 server got the issue
"System.BadImageFormatException: Could not load file or assembly"
9. Solution to this badimageformatexception is setting the
'Enable32bitApplications' to 'True' in IIS Apppool properties for the right
apppool.