Невозможно создать приложение C ++ / CLI с использованием VS 2010, .Net 3.5 и 64-разрядной версии. - PullRequest
10 голосов
/ 05 мая 2011

У меня есть приложение на C ++ / CLI, созданное в Visual Studio 2010, но использующее .Net 3.5. При необходимости я вручную отредактировал файл своего проекта, добавив TargetFrameworkVersion со значением 3,5, и смог создать его без проблем, когда я был в 32-разрядном режиме x86. Однако, когда я перешел на сборку в 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'

, что я не могу понять, потому что мой проект не имеет явных ссылок. Я переключил сборки C #, с которыми он взаимодействует, в сборку x64 (в отличие от любого процессора), но безрезультатно.

К вашему сведению: все правильно собирается в 32-битном режиме. Все также правильно построить в 64-битном режиме, если я перехожу на .Net 4.0 (v100). Я получаю одинаковые ошибки при сборке как в режиме выпуска, так и в режиме отладки.

Любые идеи будут оценены.

Ответы [ 2 ]

18 голосов
/ 16 мая 2011

Если вы компилируете с «набором инструментов», измененным с V100 на V90 в свойствах проекта, и у вас установлена ​​Visual Studio 2008 на том же компьютере разработки, просто перейдите в Панель управления, Программы и компоненты, выберите Visual Studio 2008щелкните правой кнопкой мыши, выберите «Удалить / Изменить», затем выберите «Добавить / удалить элементы», затем, когда вам будет представлен список функций, найдите компилятор / файлы x64 в Visual C ++, который не установлен по умолчанию, но нажавфлажок рядом с ним, он добавит необходимые файлы.

5 голосов
/ 10 мая 2011

В 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...