2014-07-09 5 views
3

Я пытаюсь создать портативную библиотеку F #, но ей необходимо настроить .NET 4.0 (политика компании заключается в том, что все портативные библиотеки должны быть совместимы с Windows XP).Ссылки на библиотеку .NET Framework .NET 4.5 (но не 4.0)

Когда я создаю новый проект (Visual Studio 2013), есть опция «Portable Library (Legacy)» с описанием «Проект для создания библиотеки F # (DLL), которая может работать на .NET Framework 4.0 и выше, Windows Store и Silverlight 5 ".

Проблема в том, что проект действительно создан. Когда я перехожу к свойствам проекта, «Target Framework» устанавливается в «.NET Portable Subset (.NET Framework 4.5, Silverlight 5, Windows 8)».

Я попытался изменить версию исполнения F # от 3.1 до 3.0, но это ничего не меняет. «3.0» и «3.1» являются единственными параметрами. Что случилось с «2.0»? Я что-то упустил?

EDIT: Кажется, что Гжегож является правильным. Я создал этот F # PCL, который говорит «.NET 4.5» и ссылается на него с .NET 4.0 C#. Никаких проблем не сообщалось.

Тогда, конечно же, я также ссылался на него из приложения 3.5 и ... во время компиляции не сообщалось о проблемах, но он врезался во время выполнения. Поэтому, конечно, я запускал приложение «потенциально 4.0» на XP и работал, что можно интерпретировать как «Да, F # PCL не зависит от 4.5, даже если он говорит так».

Сделайте так, чтобы я мог пометить его.

+1

Кажется, что есть проблема с пользовательским интерфейсом или шаблона проекта. Если вы перейдете в папку проекта и откройте файл проекта во внешнем редакторе, вы увидите, что для параметра «TargetFrameworkVersion» установлено значение v4.0. –

+1

Я просто подтвердил, что файл шаблона для этого имеет версию фреймворка hardcoded, поэтому вы должны просто попытаться создать свою библиотеку и проверить, работает ли она с 4.0. Пожалуйста, дайте мне знать, что это работает, если да, тогда я отправлю это как ответ. –

ответ

1

Файл шаблона для "Portable Library (Legacy)" имеет TargetFrameworkVersion hardcoded as v4.0. Если вы создадите проект с помощью этого шаблона, он фактически станет целевой версией 4.0.

Возможно, в пользовательском интерфейсе есть ошибка, которая отображает целевую структуру как 4.5, в то время как в действительности она использует предыдущую.

Чтобы быть строгим, вопрос связан с legacy Портативная библиотека. Не-устаревшая версия, похоже, работает правильно в форсировании фреймворка в версии 4.5.

обновление: я представил вопрос об этом для визуальной F команды # Инструменты: https://visualfsharp.codeplex.com/workitem/95

Смежные вопросы