Невозможно привести базовое экспортированное значение типа
У меня есть проект, который пытается подключиться к Sage 200. Однако он жалуется, что инициализация типа сейчас не удалась, как правило, это связано с тем, что сборка не находится в кеше, хотя на этот раз это так. Я перезапустил,
Ошибка, которую я получаю, я также запустил утилиту gac, чтобы убедиться, что она находится в кэше сборок и, как вы видите ниже, это Sage.
Основная ошибка:
{"Инициализатор типа для 'Sage.MMS.SAA.Client.SAAClientAPI' вызвал исключение."}
Но при дальнейшей отладке раскрывается следующее
"Невозможно привести базовое экспортированное значение типа 'Sage.MMS.SAA.Client.ISAAClient (ContractName=\"Sage.MMS.SAA.Client.ISAAClient\")" к типу "Sage.MMS.SAA.Client.ISAAClient". ".
Этот код работает в других операциях импорта, поэтому я думаю, что это как-то связано с файлом сборки.
public bool ConnectToSage()
{
try
{
application = new Sage.Accounting.Application();
// Use the Connect method (no parameters required)
application.Connect();
foreach (var item in application.Companies)
{
if (((Sage.Accounting.Company)item).Name == Properties.Settings1.Default.CompanyName)
{
application.ActiveCompany = (Sage.Accounting.Company)item;
log.Info("Connected to company: " + Properties.Settings1.Default.CompanyName);
return true;
}
}
}
catch(TypeInitializationException ex)
{
}
return false;
}