MonoDevelop 2.6 Beta 1 (2.5.90) ​​Предназначен для .NET 1.0 Framework в файлах Csproj? - PullRequest
1 голос
/ 09 апреля 2011

Может кто-нибудь сказать мне, почему, когда я создаю проекты Monotouch в последней версии MonoDevelop, она нацелена на платформу 1.0 вместо 3.5, как мои проекты в более ранних версиях?Это приводит к невозможности его загрузки в VS2010, который я обычно использую для кодирования при сборке / тестировании в MonoDevelop.Вот информация о версии:

Release ID: 20509002
Git revision: 35a0397615c02f7830d46dfcd31a6c0cb86e9f85
Build date: 2011-04-06 03:37:58+0000

А вот разница в файлах csproj между версиями:

Old:

<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>

New:

<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>

Ответы [ 3 ]

3 голосов
/ 10 апреля 2011

v3.5 был ошибкой;Проекты MonoTouch никогда не предназначались для платформы .NET v3.5.Они нацелены на инфраструктуру MonoTouch, которая произвольно имеет версию v1.0.

Улучшения в MD 2.6 позволили нам работать с пользовательскими платформами .NET аналогично VS 2010. Это означает, что вместо сохранения«ближайший» .NET Framework, а затем внутренне переключая его на правильную инфраструктуру после загрузки проекта, мы можем напрямую обрабатывать определенные типы проектов с помощью определенной пользовательской инфраструктуры.

Если вы хотите загрузить проект MT в VS, выуже нужно вносить изменения в проект - временно удалить GUID версии проекта (хотя тривиальный надстройка VS может сделать это ненужным).Это исправление версии фреймворка означает, что вам также нужно изменить целевой фреймворк на тот, который есть у VS.Для MonoTouch 4 вместо использования .NET 3.5 я бы порекомендовал использовать Silverlight 4 или .NET 4.

Лучшим решением было бы настроить VS для фактического использования инфраструктуры MonoTouch, так что вы получите точныйзавершение и компиляция кода.В VS 2010 это теперь возможно.Просто установите для TargetFrameworkIdentifier проекта значение «MonoTouch», затем установите пользовательскую платформу, скопировав все сборки платформы MonoTouch в C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoTouch\v1.0 и добавив манифест FrameworkList.xml в подкаталог RedistList.

3 голосов
/ 15 мая 2011

Я создал небольшой проект с открытым исходным кодом, который позволяет создавать проекты MonoTouch в Visual Studio 2010. В файле readme для проекта также объясняется, как обойти проблему «v1.0» для целевой версии платформы.

Проект доступен на https://github.com/follesoe/VSMonoTouch.

0 голосов
/ 10 апреля 2011

Поскольку это проект Monotouch, никто не ожидает, что он будет работать для Visual Studio или Windows.

...