Что означает «связанный Xamarin»? - PullRequest
0 голосов
/ 27 июня 2018

В Akavache документах написано ...

Добавьте следующий класс в любом месте вашего проекта, чтобы убедиться, Akavache.Sqlite3 не будет связан Xamarin

Что означает «связанный Xamarin»?

1 Ответ

0 голосов
/ 27 июня 2018

Компоновщик Xamarin.Android и Линкер Xamarin.iOS удаляет неиспользуемый код из скомпилированного приложения. Они проверяют скомпилированный код и удаляют любой код, который не отображается так, как если бы на него ссылались во время выполнения приложения.

Поскольку этот анализ выполняется на скомпилированном двоичном файле (например, статический анализ), в некоторых случаях приложение может использовать некоторый код, но компоновщик не может обнаружить такое использование. Таким образом, компоновщик удалит этот код, даже если он используется. Это приведет к проблемам при запуске приложения.

Цитируемые документы Akavache подразумевают, что Akavache.Sqlite3 является одним из таких случаев, когда компоновщик Xamarin не сможет сказать, что он используется, и, следовательно, компоновщик удалит его неправильно. В документах рекомендуется добавить ссылку, чтобы предотвратить компоновщик Xamarin от удаления Akavache.Sqlite3, т. Е. Чтобы не было возможности "связать" библиотеку вашего приложения с помощью Xamarin.

...