+1 vote

Hi,

I have just started checking example projects. When i load EmailViewer form in Visual studio i get warning:

"There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "MailBrowserControl", "AMD64". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project."

What can be done about it?

Regards,

Muhammad Usman

by
retagged by

1 Answer

0 votes
 
Best answer

Most likely the project has references to 32 bit versions of MailBrowserControl.dll and ProtocolEx.dll assemblies.

Remove those references and add the correct ones:
\Mail\Redistributables\MailBrowserControl\x64\MailBrowserControl.dll
\Mail\Redistributables\MailBrowserControl\x64\ProtocolEx.dll

Mail.dll assembly is compiled with AnyCpu option on, so it runs in native mode on both 32bit and 64bit platforms.

by (301k points)
Thanks for quick support. As a suggestion please update 32 bit dll's too, compile them in Any CPU mode.
Unfortunately this is not possible, those 2 assemblies must have two versions (32bit and 64bit).
That is ok, we need different dll's for 32 bit and 64 bit OS. But you can compile 32 bit dll in Any CPU architecture too like you did for 64 bit dll.

If there is some technical reason for not providing 32 bit Any CPU dll, please share to increase my knowledge.
This is simply not possible. This is 32bit assembly. There is no reason for it to be compiled as AnyCpu.
...