0

I have the dll SQLEditors only for x86 and I need it for any cpu or at least for 64 bits
so I get this warnning:

Warning 17 There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "SQLEditors", "x86". 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. C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets 1635 5 Sqaddin where can I get this dll( SQLEditors)?
(I need it for using in the class 'SqlScriptEditorControl' you can see more details in:
the reason I need this dll

ron
  • 1
  • 6

1 Answers1

0

How about instead limiting the application to only run as 32-bit/x86?

Historically native code was always compiled to one binarity. As opposed to that, .NET's MSIL is bitness agnostic: The same MSIL can be run as x32, x64 - even x16 and x128 if we ever get a Framework for those binarities.

If you need x64 for memory or other reasons, the common approach is to create a x32 only helper process for this native call and let the Helper and Main Process talk via any approach of interprocess communication.

Christopher
  • 9,634
  • 2
  • 17
  • 31
  • I can't change my program to x86 becuase it makes me many errors – ron Dec 27 '17 at 16:50
  • Then the helper process is propably the way. There is no othe solution: https://stackoverflow.com/questions/128445/calling-32bit-code-from-64bit-process https://social.msdn.microsoft.com/Forums/vstudio/en-US/644c2f9c-f06a-496a-b497-6420a7919fdb/64-bit-app-calling-32-bit-dll?forum=csharpgeneral – Christopher Dec 28 '17 at 13:06
  • Didn't you see my question: **where can I get this dll( SQLEditors)?** I'm sorry but your answer isn't related to the question – ron Dec 29 '17 at 09:30
  • NOWHERE. it does not exist. Whatever old native dll you use, was propably written a decade before x64 became a thing and propably never got a x64 counterpart. If you want any CPU support, it has to be 100% managed .NET code. Otherwise you are fixed to whatever binarities you can find the native code dll's for. – Christopher Dec 30 '17 at 11:38
  • Can you explain or edit your comment, it look like very importent information for me, I couldn't understand your comment. what you meant in the words: 'Otherwise you are fixed to whatever binarities you can find the native code dll's for.' – ron Dec 30 '17 at 17:48