При запуске модульных тестов вызов любого метода в моей библиотеке DLL со стандартной библиотекой времени выполнения, которая ссылается на «System.Reflection.TypeExtensions», генерирует исключение FileNotFound, поиск «System .Reflection.TypeExtensions». Ошибка не возникает, когда один и тот же код выполняется в универсальном приложении Windows 10.Невозможно загрузить сборку при ссылке на тип BindingFlags в Windows 10 Универсальная библиотека Windows
Проект представляет собой портативную среду исполнения C#, настроенную для поддержки .net Framework 4.6 и Windows Universal 10.0. Проект тестирования настроен на использование .net Framework 4.6.
Всякий раз, когда я пытаюсь вызвать метод, который использует тип System.Reflection.BindingFlags, я получаю следующее исключение. Исключение возникает при запуске вызова (предположительно, когда выполняется функция).
Test method Sfx.Test.SignalExpressionTest.TestAddExpressions threw exception:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Reflection.TypeExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.=== Pre-bind state information ===
LOG: DisplayName = System.Reflection.TypeExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
(Fully-specified)
Я вижу это, уродливая ошибка. Трудно диагностировать.Зависимости NETCore невозможно распутать. Обходной путь заключается в добавлении пакета Nuget в ваш проект. –
Я нашел это также (проблема с модулем тестирования: я также выполняю модульный тест): https://social.msdn.microsoft.com/Forums/windowshardware/en-US/37f248bb-c45c-4b17-ae45-45913e7ce4b8/portable -class-library-fail-to-jit-when-referencing-systemreflectionbindingflags-when-running? forum = vsunittest – eschneider
Это, конечно, такая же проблема. Мне непонятно, почему вы не хотите добавлять пакет Nuget. Похоже, что это получило borken 15 января, совершив от mellinoe, который переместил BindingFlags. Просто сообщите об ошибке, нажмите кнопку «Новая проблема» на [этой веб-странице] (https://github.com/dotnet/corefx/issues), чтобы сообщить ему об этом. Имейте в виду, что такие ошибки довольно нормальные, CoreFx движется быстро и едва тестируется. Вы пионер со стрелами в спине. –