Пакет nuget OpenAccess и не удается найти ресурс EntitiesModel.rlinq, встроенный в исключение сборки
Мы хотим устранить необходимость установки OpenAccess на клиенте и сборке машины и планируем сделать это с помощью пакетов nuget OpenAccess. Я следовал руководству и установил пакеты nuget OpenAccess.CodeFirst для всех проектов в решении, которые имеют дело с ORM.
К сожалению, я получил печально известное исключение:
System.TypeInitializationException: The type initializer for 'XXXl' threw an exception. ---> System.ArgumentException: Cannot find resource EntitiesModel.rlinq embedded in assembly
Я проверил все шаги из этой статьи, но я все еще получаю ту же ошибку. Что мне не хватает?
1 ответ
Так как пакеты Nuget Telerik OpenAccess ORM обеспечивают поддержку подхода, основанного на коде, по умолчанию параметры оптимизированы для свободного отображения, и будут улучшены только модели свободного отображения. Чтобы использовать другой тип сопоставления (сопоставление Xml или сопоставление атрибутов), необходимо включить его, выполнив следующие действия:
- Выгрузите проект, содержащий вашу модель, и откройте файл проекта для редактирования.
- Включите сопоставление xml, добавив true в первую группу PropertyGroup файла проекта.
Например:
<?xml version="1.0" encoding="utf-8"?>
<Project ...>
...
<PropertyGroup>
...
<UseXmlMapping>true</UseXmlMapping>
</PropertyGroup>
...
</Project>
Кроме того, вы можете найти альтернативный подход для использования Telerik OpenAccess ORM без установки, описанный в этой статье документации - http://documentation.telerik.com/openaccess-orm/developers-guide/integrating-openaccess-orm-in-your-solution/external-tools-howto-integrate-enhancer-msbuild.