Я загружаю типы из файлов, найденных в двух каталогах, и создаю экземпляр каждого типа, используя System.Activator
. Я делал это несколько раз без каких-либо проблем, что заставляет меня думать, что я собираюсь что-то узнать.«Внутренняя ошибка произошла при оценке метода Activator.CreateInstance()»
Файлы в первом каталоге загружаются без проблем. В первом файле в следующем каталоге он переходит к точке вызова Activator.CreateInstance(type)
и продолжается без исключения, но возвращенный экземпляр не может быть оценен («Не удалось оценить выражение»). Попытка выполнить тот же оператор в окне QuickWatch выдает указанную выше ошибку как значение с типом «объект», а не исключение.
Что я пробовал:
- Ссылка узел, который содержит тип в вопросе и, в частности создать экземпляр с помощью
new
и пустой конструктор, даже с той же точки, что эта ошибка может произойти. (успех) - Использование
Activator
на этом типе в других местах в стеке вызовов. (отказ) - Тип в вопросе реализует интерфейс, но не подклассифицирует другие классы.
- Сборка находится в AppDomain (очевидно, после ссылки на нее конкретно).
- Перемещение внедряющей сборки в другое место. (неудача)
Я в такой степени, что я даже не знаю, что проверить, я никогда не видел этого раньше.
Это Visual Studio 2013, .NET 4.5. Я не могу найти ссылки на эту ошибку в контексте Activator.CreateInstance
. Единственный экземпляр, который я могу найти в этой ошибке, не имеет разрешения. Я не ожидаю, что информация, которую я предоставил, приведет к разрешению, но если я смогу, по крайней мере, выяснить возможные причины, я могу исследовать свои собственные решения.
Это сам отладчик, а не ваш код. Господь знает, как вы это сделали, в вашем вопросе нет никаких подсказок. Вам нужно пахать вперед, такой провал, как правило, исправляет себя. –
@ HansPassant, пожалуйста, опубликуйте это как ответ, чтобы я мог его принять. Относительно того, что связано с созданным экземпляром, не может быть оценено отладчиком до тех пор, пока значение не будет выведено из свойства.Но это вообще не мешало казни, так что вы, кажется, правы. – redman