Не удается создать переносимые библиотеки классов в VS2012

У меня есть проект, который раньше собирался в VS2010, а теперь не будет в VS2012. Он устроен следующим образом:

-Lime49 (Portable Class Library)
-Myproject.Shared (Portable Class Library)
--Myproject.Core (.NET4, references the above two libraries)

Первую строит нормально, но когда пытаюсь собрать третью, получаю The type or namespace 'Lime49' could not be found и консоль показывает вот это:

>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3268: The primary reference "Lime49" could not be resolved because it has an indirect dependency on the framework assembly "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETPortable,Version=v4.0,Profile=Profile2". To resolve this problem, either remove the reference "Lime49" or retarget your application to a framework version which contains "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".
1>C:\<snipped>\MyProject\trunk\MyProject.Shared\Fraction.cs(11,7,11,13): error CS0246: The type or namespace name 'Lime49' could not be found (are you missing a using directive or an assembly reference?)
1>C:\<snipped>\MyProject\trunk\MyProject.Shared\Nutrition\USDA\USDAUtils.cs(5,7,5,13): error CS0246: The type or namespace name 'Lime49' could not be found (are you missing a using directive or an assembly reference?)
1>C:\<snipped>\MyProject\trunk\MyProject.Shared\UrlHelper.cs(6,7,6,13): error CS0246: The type or namespace name 'Lime49' could not be found (are you missing a using directive or an assembly reference?)
========

В моем решении также есть два проекта, которые ссылаются как на переносимые библиотеки, так и на библиотеку .NET 4, ни один из которых не собирается из-за того, что другие отказываются от сборки. Я пытался удалить и воссоздать переносимые библиотеки, но они по-прежнему не собираются при ссылке из другого проекта.

Это то, что у меня есть в настройке фреймворка для обеих переносимых библиотек классов: Конфигурация фреймворка


person Echilon    schedule 28.10.2012    source источник
comment
Однако не совсем очевидно, как устранить ошибку. Я понятия не имею, что я делаю, когда открываю этот Microsoft.Common.targets файл.   -  person Echilon    schedule 28.10.2012


Ответы (1)


Вы заявляете, что третий проект не удается построить, но похоже, что на самом деле это второй проект. Судя по предупреждающему сообщению, вы создаете версию Lime49.dll, которая на самом деле является двоичным файлом .NET 4.x, а не переносимой.

Можете ли вы убедиться, что Lime49 является на самом деле переносимым проектом или что вы не собираете более старую сборку бинарного файла, которая раньше была .NET 4.x?

person David Kean    schedule 30.10.2012