Вопрос

Удалось ли кому-нибудь преобразовать проект VS 2008 C++/CLI (vcproj) в проект VS 2010 (vcxproj), сохраняя при этом .NET 3.5 в качестве целевой платформы?Я не смог сделать это и добиться успешной сборки проекта.Проект нормально компилируется в VS2008 как .NET 3.5 и нормально в VS2010 как .NET 4.0, но я не могу настроить .NET 3.5 в 2010 году.Похоже, что IDE не предоставляет для этого возможности, поэтому необходимо изменить файл vcxproj, добавив

<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>

приводит к сбою компиляции со следующей ошибкой:

Error   1   error C1001: An internal error has occurred in the compiler.

В соответствии с эта ссылка, очевидно, существуют некоторые различия в компиляторах, используемых между VS2008 и 2010, но ручное редактирование файла проекта по-прежнему предлагалось в качестве решения.Есть ли у кого-нибудь идеи по этому поводу?

Это было полезно?

Решение

Спасибо за совет по TargetFrameworkVersion.У меня это сработало, но вам это, к сожалению, не поможет.

Легко получить «внутреннюю ошибку компилятора», если у вас есть старые файлы (PCH-файлы, объектные файлы), созданные для другой версии компилятора C++.Вы почистили все, когда изменили версию инструментов?

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

Когда вы ориентируетесь на .Net framework v3.5 и выполняете сборку с использованием VS2010, иногда вы можете вызвать ошибку компоновщика C1001 из-за того, что VS2010 автоматически добавляет ссылку на System.Core при компиляции.Это не является явным и не будет отображаться в ваших ссылках, а скорее выполняется во время компиляции.Вы можете указать VS не добавлять сборки, добавив этот элемент в свою группу свойств Globals:

<AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>

Ух ты, ответ на Отчет об ошибке Брикнера это ужасно: таргетинг 3.5 не поддерживается и не будет исправлен!

Мой собственный странный опыт сбоями заключается в том, что их исправляли путем включения предварительно скомпилированных заголовков, что еще более странно, потому что stdafx.h был пуст, поэтому я не знаю, что они делают.

Установите это исправление, и ваши проблемы, вероятно, исчезнут: http://support.microsoft.com/kb/976656

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top