Как разложить определение C # проектов (csproj) между платформами (MonoTouch / -Droid / WP7) - PullRequest
4 голосов
/ 10 октября 2011

Я планирую разработать распределенное приложение с мобильной частью (MonoTouch / MonoDroid / WP7), настольной частью (WPF) и веб-частью (ASP / Silverlight) ...

Конечно, большая часть кода используется несколькими платформами. До сих пор, чтобы создать 1 проект на 1 платформу, я выбрал путь автостопщика, у меня есть WPF csproj, давайте создадим Silverlight и поместим в него файл cs. Затем я делаю то же самое для MonoTouch. Тогда для MonoDroid. Тогда для WP7. Можно ли каким-то образом разложить содержание csproj? А как оптимизировать создание проекта?

Я бы не стал обсуждать тот факт, что для каждой платформы требуется 1 проект. То, о чем я мечтаю, - это описание, какой файл для какой платформы в ОДНОМ файле. Затем этот файл включен в каждый csproj ...

Ура, Патрик

Ответы [ 3 ]

3 голосов
/ 10 октября 2011

Вот отличное расширение, которое поможет вам http://msdn.microsoft.com/en-us/library/ff921108%28v=pandp.20%29.aspx

Я использую его для обмена кодом между MonoDroid, MonoTouch и проектом WP7

3 голосов
/ 10 октября 2011

Не имеет ли смысла помещать общий код в проект библиотеки классов, на который вы затем ссылаетесь из всех остальных?

0 голосов
/ 10 октября 2011

Если вы хотите поделиться кодом между несколькими устройствами, я предлагаю вам взглянуть на шаблон MVC , используя что-то вроде MonoCross .

Как ChrisDB предложил поделитьсяна уровне проекта, а не на уровне файла.Делить совместное использование на уровне проекта будет намного проще, поскольку:

  • многие инструменты (например, MonoTouch с интеграцией MonoDevelop / XCode) будут использовать несколько файлов для пользовательского интерфейса (многие из них генерируются автоматически) ивы не хотите терять справку по IDE для каждой платформы;
  • ваша IDE (VS.NET или MonoDevelop) сможет сохранять различные параметры для каждого проекта (например, определяет или настраивает параметры проекта, например, MonoTouch);

Возможно, вы также захотите проверить О каких ограничениях я должен знать, чтобы максимизировать переносимость моно-кода? вопрос / ответы, поскольку он немного похож, но не идентичен,на ваш текущий запрос.

...