Не удалось создать приложение С++/CLI с использованием VS 2010,.Net 3.5 и 64-разрядных
У меня есть приложение С++/CLI, которое создано в Visual Studio 2010, но с использованием .Net 3.5. По мере необходимости я редактировал файл проекта, чтобы добавить TargetFrameworkVersion со значением 3.5 и смог создать его без проблем, когда был в режиме x86 (32-разрядный). Однако, когда я переключился на его создание в режиме x64 (64-разрядный), я получил следующую ошибку:
Ошибка MSB8014: Не удалось найти путь выполнения (C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\x86_amd64).
У меня установлен VS 2008 (9.0), но в папке bin нет каталога x86_amd64. Я попытался обмануть его, добавив эту папку (и папку amd64, которая не удалась бы из-за следующей строки в файле целей), а затем я получил ошибку:
фатальная ошибка LNK1112: тип модуля модуля "X86" конфликтует с типом целевой машины "x64"
который я не могу понять, потому что у моего проекта нет явных ссылок. Я переключил сборки С#, с которыми он взаимодействует, для сборки в x64 (в отличие от любого процессора), но безрезультатно.
FYI: все строит правильно в 32-битном режиме. Все также правильно построено в режиме 64 бит, если я переключусь на .Net 4.0 (v100). Я получаю те же ошибки, что и в режиме выпуска и отладки.
Любые идеи будут оценены.
Ответы
Ответ 1
Если вы компилируете "набор инструментов", измененный с V100 на V90 на свойства проекта, и у вас есть Visual Studio 2008, установленный на одной машине разработки, просто зайдите в "Панель управления", "Программы и компоненты", выберите Visual Studio 2008, щелкните правой кнопкой мыши, выберите "Удалить/изменить", затем выберите "добавить/удалить fatures", а затем, когда вам будет представлен список функций, найдите x64 компилятор/файлы в Visual С++, который не установлен по умолчанию, но нажав рядом с ним он добавит необходимые файлы.
Ответ 2
В VS2010 он должен ссылаться на C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64
Вероятно, вы неправильно настроили конфигурацию или импортировали из проекта vs2008.
Перейдите к Configuration -> General -> Platform Toolset
. убедитесь, что он v100
(vs2010)
Если это не поможет, посмотрите Configuration -> VC++ Directories
. Это где этот путь установлен.
Вы можете видеть, что он выглядит в $(VCInstallDir)
, который на вашем компьютере установлен на путь VS2008.