Я видел несколько дискуссий по этой проблеме, но я еще не видел четких ответов, особенно для MonoTouch/Mono для Android.
Я разрабатываю многоцелевое решение на основе Xamarin, и, естественно, у меня много общего кода. В идеале этот код должен находиться в «общем» стандартном проекте библиотеки классов .NET (или проекте). Когда я ссылаюсь на этот проект в проекте для конкретной платформы, я получаю предупреждение «На проект «Общий» нельзя ссылаться. Ссылочный проект предназначен для другого семейства фреймворков (.NETFramework)», но решение по-прежнему успешно скомпилировано.
По сути, я спрашиваю, должен ли я использовать подход со ссылками на файлы, когда мой общий код обращается к нескольким целям. Более подробно мои вопросы:
- Верен ли описанный выше подход, когда мои «общие» проекты ссылаются только на сборки, которые поддерживаются целями Mono*?
- Если ответ на вышеприведенный ответ да: скажем, я ссылаюсь на стороннюю библиотеку .NET (в форме DLL, а не проекта) в своем «общем» проекте, и эта библиотека имеет разные сборки для разных целей (но это не ссылается на сборку, не поддерживаемую Mono*), могу ли я по-прежнему ссылаться на версию сборки для Windows, и мне это сойдет с рук?