Как собрать 64-битную управляемую C++ DLL в Visual Studio 2010?
У меня есть управляемый C++ dll, и он прекрасно работает в формате x86. Однако когда я изменяю формат на x64 в диспетчере конфигурации, он не распознает пространства имен.Net, такие как System и т. Д.
Что еще я должен изменить, чтобы иметь возможность создавать 64-битную версию приложения?
Мне нужно будет собрать приложение для x64 и x86.
2 ответа
Когда вы изменили свой проект на целевой x64, параметры, указывающие компилятору нацеливаться на.NET Framework, очевидно, не были перенесены.
Проверьте свойства вашего проекта, чтобы убедиться, что все настройки x64 совпадают с настройками x86.
Более конкретно, вы ищете свойство "Common Language Runtime Support". В последних версиях Visual Studio это, вероятно, следует установить на Common Language Runtime Support, Old Syntax (/clr:oldSyntax)
для управляемого C++.
Вы должны создать конфигурацию "x64", там есть второй выпадающий список для "копирования настроек из". Это также должно быть правильно установлено для копирования настроек из других ваших конфигураций.
Но так как вы уже сделали это, возможно, все ваши ссылки на сборки не были скопированы в вашу конфигурацию x64. Вы проверили настройки своего проекта x64, чтобы увидеть, есть ли они там? Откройте настройки проекта и выберите: "Общие свойства" -> "Структура и ссылки". Затем убедитесь, что у вас есть ссылка на систему (как минимум).