Ввести. IsSubclassOf () не работает через AppDomains?

Вы можете сохранить свойство базы данных user_version и проверить, изменилось ли оно. Чтобы установить его, вы должны использовать PRAGMA user_version = {version};, а для запроса текущей версии вы будете использовать PRAGMA user_version;

6
задан aoven 21 January 2009 в 19:30
поделиться

2 ответа

Это происходит из-за загрузки в другой контекст. Как Вы загружаете блок (Загрузка / LoadFrom / ReflectionOnlyLoad) определяет, в какой контекст это загружается. Этот простой пример также демонстрирует проблему:

using System;
using System.Reflection;

class Foo
{
    public static void Main()
    {
        var type = typeof(Foo);
        var reflectionLoadType = Assembly.ReflectionOnlyLoad("ConsoleApplication1").GetType("Foo");
        Console.WriteLine(type == reflectionLoadType);  //false
        Console.WriteLine(type.Equals(reflectionLoadType));  //false

        Console.WriteLine("DONE");
        Console.ReadKey();
    }
}

Посмотрите здесь для большего количества информации.

7
ответ дан 10 December 2019 в 02:54
поделиться

У меня была подобная проблема. У меня также была эта архитектура-.DLL, который содержит базовый класс ClientPlugin; несколько плагинов, которые ссылаются на этот.DLL; и главное приложение, которое также ссылается на этот.DLL. Проблема состояла в том, что.DLL с базовым классом ClientPlugin был скопирован в двух папках - и папка Plugins и папка главного приложения. Таким образом это было загружено дважды в моем AppDomain (плагины также загрузили его косвенно). И когда главное приложение пыталось сделать, отражение вводит волшебство, оно перестало работать, потому что было два экземпляра типа ClientPlugin.

Хотя я не думаю, что это - точно Ваш случай, все еще существует урок для изучения здесь - если.DLL будет загружен дважды, то типы будут также дублированы. В Вашем случае я подозревал бы или отдельный AppDomains или "ReflectionOnlyLoad", потому что.DLL затем загружается так или иначе по-другому.

2
ответ дан 10 December 2019 в 02:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: