Использование решений MonoTouch по умолчанию приводит к ошибкам сборки

Когда я создаю универсальное одностраничное приложение в MonoDevelop 3.0, сборка завершается сбоем, потому что:

 {DIRECTORY}/iTEST/AppDelegate.cs(7,7): Error CS0246: The type or namespace name `MonoTouch' could not be found. Are you missing a using directive or an assembly reference? (CS0246) (iTEST)

Я посмотрел в «Настройки» -> «Расположение SDK» -> и убедился, что у меня установлен MonoTouch SDK. Что может быть причиной этого?


person tamaslnagy    schedule 14.05.2012    source источник


Ответы (2)


Есть ли в сгенерированном проекте ссылка на monotouch.dll? Если нет, то вам нужно будет добавить его вручную.

Я создал новый проект Universal, Single View Application с помощью MonoDevelop 3.0, и он работал без проблем (и ссылка на monotouch.dll присутствует).

person poupou    schedule 14.05.2012
comment
Да, монотач входит в число ссылок - person tamaslnagy; 15.05.2012
comment
Я переустановил MonoTouch, и я знаю, что у меня есть эта ошибка: Ошибка сборки. В среде выполнения «Mono 2.10.9» не установлена ​​структура MSBuild «4.0». Что это может означать? - person tamaslnagy; 15.05.2012
comment
Похоже, что это не проект MonoTouch, а новый файл/тип MonoTouch, добавленный в обычный проект .NET. Это объяснило бы вашу последнюю ошибку и первую. Начните с нуля и обязательно создайте новый проект MonoTouch. - person poupou; 15.05.2012
comment
Может ли это быть из-за раствора? Решение, к которому я добавляю новый проект, возникло в VS2010. Как я могу заставить решение работать как на OS X, так и на Windows? - person tamaslnagy; 15.05.2012
comment
Я почти уверен, что решения ванильные и идентичны VS.NET (я обычно добавляю что-то в них/из них), но исполняемые проекты должны быть Целевой платформой: Mono для iPhone ( см. параметры проекта, Сборка, Общие). - person poupou; 15.05.2012
comment
Там написано «Моно для iPhone», и оно неактивно. Кроме того, если я создам новое решение с универсальным проектом одностраничного приложения, оно все равно получит ту же ошибку. - person tamaslnagy; 15.05.2012
comment
Серый цвет — это нормально (и нормально). Похоже, пришло время для отчета об ошибке -› bugzilla.xamarin.com - person poupou; 15.05.2012
comment
Как лучше всего полностью удалить MonoDevelop? Если я перетащу файл .app в корзину, он просто удалит программу, но не настройки. Примечание. Я не хочу удалять Mono, только MonoDevelop. Я думаю, что есть проблема с моей установкой, и я хотел бы сделать полную переустановку с более ранней версией MonoDevelop. - person tamaslnagy; 15.05.2012

Оказывается, у меня была включена функция экспериментальной сборки, которая не поддерживает проекты ASP.NET или MonoTouch. Это можно отключить через панель Preferences-> Build.

person tamaslnagy    schedule 15.05.2012
comment
/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/4.0/Microsoft.Common.targets дает немного больше подсказки. Посмотрите в меню MonoDevelop, Настройки... В разделе Настройки (дерево) выберите Сборка и убедитесь, что флажок Компилировать проект с помощью MSBuild/XBuild **НЕ установлен. - person poupou; 15.05.2012