Как НЕ ориентироваться на .NET Framework в Visual Studio 2010 для приложения C++

Можно ли создать новый проект Win32 C++ в VS2010, который не будет нацелен на .NET Framework? Visual Studio, похоже, отказывается создавать проект, если в качестве цели не выбрана хотя бы одна версия .NET Framework. Также отказывается загружать проект, если на компьютере не установлен .NET, даже если файлы SLN/VCXPROJ не содержат ссылок на .NET. Если .NET не установлен, Visual Studio по-прежнему требует выбрать версию .NET Framework, но поскольку версий нет, она отказывается создавать новый проект. Но что, если я хочу, чтобы мое приложение не имело ничего общего с .NET и работало на компьютере, на котором не установлена ​​.NET? (Я использую операционную систему Windows XP, хотя это не должно иметь значения).

Я предпринял следующие шаги:

  1. Удалите .NET.
  2. В Visual Studio 2010 выберите «Файл» -> «Создать» -> «Проект».
  3. В окне «Новый проект» в разделе «Установленные шаблоны» щелкните «Проект Win32 — Visual C++». В этот момент Visual Studio начинает требовать выбрать целевую версию .NET Framework.

Да, конечно, это возможно. В конце концов, Visual Studio существовала для разработки Win32 задолго до изобретения .NET. Похоже, вы с самого начала создаете неправильный тип проекта. Пожалуйста, отредактируйте свой вопрос, чтобы указать точные шаги, которые вы предпринимаете.

Remy Lebeau 18.12.2020 19:39

Под New Project выберите Visual C++ -> Win32 -> Win32 Project (или что-то подобное — у меня не 2010).

001 18.12.2020 19:42

У вас может не быть поддержки компилятора для собственных образов.

500 - Internal Server Error 18.12.2020 20:27

@xcvbnm «собственные образы» == неуправляемые, без .NET. В диалоговом окне «Новый проект» выберите Visual C++ в разделе «Установленные шаблоны», затем «Win32», затем «Консольное приложение Win32» или «Проект Win32». Если у вас их нет/не видно, измените установку и добавьте недостающие части.

dxiv 19.12.2020 08:49

«Возможно, компилятор не поддерживает встроенные образы, но это не имеет значения, потому что мое приложение не .NET». Это не «не имеет значения»; нативные изображения — это именно то, что вы пытаетесь сделать.

Asteroids With Wings 19.12.2020 21:00

@xcvbnm 1. У меня нет под рукой машины без установленного .NET. Тем не менее, я никогда не получал запросов о версиях .NET при создании неуправляемого проекта C++ и никогда этого не делал. Не могли бы вы опубликовать скриншот этого конкретного диалога или подсказки. 2. Тогда правильным выбором будет Win32 Project. 3. Связанная страница посвящена «оптимизации сборок .NET Framework», которая не применяется при создании неуправляемых проектов C++. Как правило, «собственный» означает код, скомпилированный в собственные машинные инструкции, в отличие от «управляемого», который компилируется в промежуточный язык (в данном случае MSIL).

dxiv 20.12.2020 04:11
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
6
141
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

[tl;dr]   Необходимым условием для Visual Studio 2010 является .NET Framework 4.0. Программа установки VS 2010 устанавливает его при необходимости, и среда IDE не будет работать правильно, если компоненты .NET впоследствии будут удалены вручную. Неуправляемые приложения C++ по-прежнему можно создавать вне среды IDE без установки .NET, а полученные двоичные файлы не зависят от .NET во время выполнения. Исправление установки VS 2010 восстанавливает компоненты .NET и заставляет IDE работать должным образом.

Следующее было опробовано на чистой машине XP SP3 (виртуальной) с новой установкой VS 2010.

  • Программа установки перечисляет .NET 4.0 как необходимое условие и при необходимости устанавливает его.

  • Удаление компонентов .NET 4.0 вручную из меню "Установка и удаление программ" приводит к поломке среды IDE.

  • После восстановления установки IDE снова заработает. В диалоговом окне «Новый проект» есть раскрывающийся список версий .NET Framework верхнего уровня, в котором по умолчанию используется .NET Framework 4, применимый ко всем типам проектов. включая неуправляемые проекты C++. Однако этот выбор не имеет отношения к неуправляемым проектам, которые не нацелены, не используют или иным образом не требуют .NET.

Надеюсь, это поможет, и в любом случае это было слишком долго для комментария. В вашей настройке все еще должно быть что-то другое, поскольку вы можете добраться до диалогового окна «Новый проект» без установленного .NET, в то время как VS даже не запустится без него в моей тестовой установке. Но это трудно отследить без (много) дополнительного контекста.

dxiv 21.12.2020 01:14

Другие вопросы по теме