От: | mDmitriy | ||
Дата: | 19.05.15 15:43 | ||
Оценка: |
[Serializable]
public class AttributesRequestPlus : AttributesBase
{
public RegistrationConfig RegistrationConfig;
public AttributesRequestPlus(string[] requestDlls, RegistrationConfig registrationConfig) : base()
{
ResponseDlls = requestDlls;
RegistrationConfig = registrationConfig;
}
public AttributesRequestPlus(string requestDll, AttributesResponsePlus attributesResponseDll)
: this(attributesResponseDll.ResponseDlls, new RegistrationConfig())
{
//ResponseDlls = attributesResponseDll.ResponseDlls;
//RegistrationConfig = new RegistrationConfig();
RegistrationConfig.InstallationFlags = InstallationFlags.Default | InstallationFlags.FindOrCreateTargetApplication | InstallationFlags.ReportWarningsToConsole;
RegistrationConfig.AssemblyFile = requestDll;
RegistrationConfig.ApplicationRootDirectory = Path.GetDirectoryName(requestDll); // устанавливаем каталог компонента как путь dll
RegistrationConfig.Application = attributesResponseDll.ApplicationName;
Errors.Add(() => string.IsNullOrEmpty(requestDll), "not request dll");
}
}
public static bool Create(AttributesRequestPlus attributesPlus, bool mode)
{
return Create<OtherDomainRegPlus>(r => r.SetRequests(attributesPlus), r => r.DoWork(mode));
}
Кто-нибудь может объяснить, почему так происходит и как заставить правильно работать второй конструктор?An unhandled exception of type 'System.Runtime.Serialization.SerializationException' occurred in Register.Common.ComPlus.dll
Additional information: Тип "Common.Registrations.AttributesRequestPlus+<>c__DisplayClass2" сборки " <тут полное имя сборки> " не помечен как сериализуемый.