Как (практически) повторно использовать существующую библиотеку .NET в MonoTouch - PullRequest
3 голосов
/ 21 июля 2011

Допустим, у меня есть существующая сборка .NET, встроенная в Visual Studio 2010, которая используется в каком-либо другом продукте Winforms. У него нет сторонних зависимостей.

Я хочу повторно использовать эту библиотеку непосредственно в решении MonoTouch.

В нынешнем виде, чтобы иметь возможность добавить ссылку на мою библиотеку из моего проекта пользовательского интерфейса MonoTouch, мне нужно создать новый файл csproj и создать ссылки на все исходные файлы в нем.

Это работает, но это бремя обслуживания. Должен быть лучший способ?

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 22 июля 2011

На сегодняшний день вам нужно перестроить свои сборки. Это потому, что они будут связаны с monotouch BCL (например, другой mscorlib.dll), который поставляется вместе с Silverlight. Это расширенный набор библиотек базовых классов (BCL).

Надеемся, что более новая версия MonoTouch (и Mono, Mono для Android ...) будет поддерживать новую «переносимую библиотеку», которая упростит совместное использование скомпилированных двоичных файлов в рамках.

http://blogs.msdn.com/b/bclteam/archive/2011/01/19/announcing-portable-library-tools-ctp-justin-van-patten.aspx

2 голосов
/ 27 июля 2011

Верьте или нет, вы можете ссылаться на библиотеку .dll, встроенную в VS.NET, если ваша общая сборка не ссылается на какие-либо другие сборки, которые делают ее несовместимой с monotouch. Я сейчас занимаюсь этим на нашем проекте. Упомянутый .dll имеет только зависимости от System и System.Core и, по сути, представляет собой набор POCO. Я уверен, что кто-то с большими знаниями может сказать вам точно, что нужно сделать, чтобы DLL-файл несовместим. Даже использование несовместимого вызова API в пределах System или System.Core может сломать его за ответ Пуупу, но если вы оставите вашу общую DLL-библиотеку мертвой простой, она должна работать.

...