Как вы можете ссылаться на другую версию MFC из проекта Visual C ++ в Visual Studio 2010? - PullRequest
1 голос
/ 24 июня 2010

У меня есть проект VC ++ в VS2010, который связан с некоторыми библиотеками, созданными с VS2008. Работает нормально, пока я не попытаюсь передать объекты MFC в библиотеку VS2008. Артефакт проекта VS2010 VC ++ (.dll) связывается с последней версией MFC, поставляемой с VS2010, тогда как VS2008 .dll связывается с предыдущей версией MFC, поставляемой с VS2008.

Проекты VS2010 VC ++ имеют свойство "Platform Toolset", которое допускает либо v90 (VS2008), либо v100 (VS2010), и это, похоже, должно сработать. Однако проект VS2010 VC ++ создается с помощью / clr (Common Language Runtime Support), для которого, по-видимому, требуется нацеленность на v4.0 .NET Framework - который не поддерживается в наборе инструментов v90 (VS2008).

Ответы [ 2 ]

1 голос
/ 24 июня 2010

IIRC, Common Language Runtime также должно поддерживаться для .NET 1 до 3.5.Вы можете указать конкретную версию .NET, см. здесь .

Я думаю, что набор инструментов платформы будет означать либо

  • Компиляторы и инструменты VS 9.0 или 10.0
  • версия DLL CRT (и сопровождающая распространяемая среда выполнения Visual C ++ 2005/2008/2010).
0 голосов
/ 24 июня 2010

Установка опции Platform Toolset на v90 работает тогда и только тогда, когда Targeted framework - 3.5 (или менее, я полагаю).

Чтобы изменить Targeted framework, вы должны отредактировать файл .vcxproj напрямую. Чтобы внести изменения, следуйте этим указаниям . Обратите внимание, что элемент XML может отсутствовать, но инструкции по добавлению элемента в файл .vcxproj содержатся в comments .

.
...