У меня есть решение, содержащее C# и управляемые проекты C++. Он компилируется в платформе решения x64 и x86. Поскольку он управляется C ++, я хотел создать решение «Любой процессор» и избавиться от старых.
Я изменил настройки компоновщика проекта C++ на Force Safe IL Image как для x64, так и для x86.
Затем с помощью диспетчера конфигураций я создал новую платформу решения под названием «Любой процессор». Затем я добавил платформу проекта, также называемую Any CPU.
Я установил для всех проектов С# значение «Любой процессор», но для С++ я не могу этого сделать. Платформа проекта «Любой процессор» отсутствует в раскрывающемся списке, а также нет опции «Новый...».
VS относится к этому с пониманием, поэтому я оставил все как есть и начал сборку. К моему удивлению, полученная DLL (из проекта C++) была MSIL, хотя платформа для C++ была x64. То же самое происходит при компиляции x32, результирующая DLL находится в MSIL.
Что дает? Почему я не могу установить для проекта C++ значение «Любой процессор»?