Проект с сгенерированными типами терпит неудачу на Assembly.GetExportedTypes () - PullRequest
0 голосов
/ 23 октября 2018

Я работаю над обновлением FSharp.Data.SqlClient до последней версии SDK Type Provider, и я вижу ошибку при использовании сгенерированных типов.Тестовый проект, который ссылается на многочисленные сгенерированные типы, компилируется просто отлично, но когда я пытаюсь запустить тесты xunit, я получаю следующее исключение:

System.TypeLoadException: Could not load type 'BTL' from assembly 'SqlClient.Tests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' because the parent does not exist. at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes) at System.Reflection.RuntimeAssembly.GetExportedTypes() at <StartupCode$FSI_0005>.$FSI_0005.main@()

Я не уверен, чтотип BTL относится к - я не вижу ни одного символа с таким именем ни в тесте, ни в источнике поставщика типов.И я подтвердил, что проблема связана с сгенерированными типами - если я закомментирую все ссылки на SqlEnumProvider, но оставлю ссылки на стертые типы, все тесты пройдут.

1 Ответ

0 голосов
/ 24 октября 2018

Обнаружена проблема с генерируемыми типами единиц измерения - базовый тип этих предоставленных типов был None, что вызывало ошибку при отражении над типами сборок.Смена базового типа на Some typedefof<obj> сделала свое дело, и теперь все тесты проходят.

Кстати, таинственный тип BTL пришел из данных в базе данных тестов, что кажется очевидным в ретроспективе.

...