У меня есть сборка, которая, я думаю, встроена в x64, и я хочу сослаться на это в проекте с Любой процессор конфигурации.
Но когда я ссылаюсь на эту сборку .net на проект с любой платформой ЦП, я получаю следующее предупреждение
warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "C:\Users\QvAdmin\Documents\Visual Studio 2013\Projects\QvAccessPointT2\x64\Debug\CppT1.exe", "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.
Поэтому я пытаюсь использовать сборку смешанного режима C ++, как описано Вот. Я создал консольное приложение CLR (C ++).
Но снова я получаю то же исключение, с которым боролся так долго. В представленном решении CSharpT1 — это проект запуска, который ссылается на CppT1, проект приложения CLR Cpp Console. Что я ожидал после прочтения этот является то, что я мог бы ссылаться на CppT1 с любой проблемой, потому что это проект Cpp, и конфигурация установлена на x64. Но проблема осталась. Моя идея — выбросить проект Cpp. Я бы смог загрузить сборку x64. Это один больше ссылок.
Message: An unhandled exception of type 'System.BadImageFormatException' occurred in mscorlib.dll
Additional information: Could not load file or assembly 'CppT1, Version=1.0.5578.39432, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Задача ещё не решена.