Как сделать так, чтобы проект библиотеки Xamarin ссылался на другой проект библиотеки

Я создал решение в Xamarin (Visual Studio для Mac), которое имеет:

MyGame (solution)
> MyGame
> MyGame.Droid
> MyGame.IOS
> MyLibrary   <= this contains additional code to be used by MyGame

Странно то, что если я открываю MyGame.Droid или MyGame.IOS, там есть папка ссылок, в которой, например, есть ссылка на проект MyGame.

Но когда я открываю MyGame, папки «Ссылки» нет.

Как добавить ссылку в MyGame в MyLibrary?


person Brian Rice    schedule 24.01.2018    source источник


Ответы (1)


Добавьте ссылку на новый проект MyLibrary в проекты MyGame.Droid и MyGame.IOS.

Кажется, вы создали проект Xamarin.Forms, а затем создали проект библиотеки .NET Standard. По умолчанию Xamarin.Forms создает проект Shared, что означает, что он используется совместно между MyGame.Droid и MyGame.IOS, и всякий раз, когда вы создаете Droid, он становится частью проекта droid и противоположным для проекта iOS.

В качестве альтернативы вы можете преобразовать свой общий проект в .NET Standard и тогда вы сможете добавить необходимые ссылки.

person Alexey Strakh    schedule 24.01.2018
comment
Решением, которое я создал, было мультиплатформенное собственное приложение (IOS, Android) -> Приложение)... есть ли простой способ преобразовать общий проект в проект .Net Standard... или просто воссоздать его вручную?... Также есть ли способ определить, что это за проект? - person Brian Rice; 24.01.2018
comment
нет инструмента для переноса shared -> .net standard, и простой способ проверить, что проект shared открыт, его ссылки. Если у него нет папки ссылок - это общий проект. Вы можете воссоздать проект, используя шаблон .net standard, и переместить туда все файлы, он должен по-прежнему компилироваться, пока покрытие API с помощью .net standard 2.0 довольно хорошее. - person Alexey Strakh; 24.01.2018