"Попытка доступа к элементу как к типу, несовместимому с массивом", выдаваемому при создании настраиваемого EmailService в Postal
Я пытаюсь настроить почтовый в проекте библиотеки классов. Для этого мне нужно настроить собственный EmailService. На почтовой странице есть фрагмент для этого:
// Get the path to the directory containing views
var viewsPath = Path.GetFullPath(@"..\..\Views");
var engines = new ViewEngineCollection();
engines.Add(new FileSystemRazorViewEngine(viewsPath));
var service = new EmailService(engines);
(См. Здесь: http://aboutcode.net/postal/outside-aspnet.html)
Удивительно, но выдается следующая ошибка:
Возникла исключительная ситуация System.ArrayTypeMismatchException HResult=-2146233085
Сообщение = попытка доступа к элементу как к типу, несовместимому с массивом. Source=mscorlib StackTrace: at System.Collections.Generic.List`1.Insert(индекс Int32, элемент T) InnerException:
Если быть точным - он выбрасывается при добавлении FileSystemRazorViewEngine
в ViewEngineCollection
, FileSystemRazorViewEngine
происходит от IViewEngine
а также ViewEngineCollection
происходит от Collection<IViewEngine>
,
И вот трассировка стека:
mscorlib.dll! System.Collections.Generic.List.Insert (int index, System.__ Элемент Canon) + 0x3e байт
System.Web.Mvc.dll!System.Web.Mvc.ViewEngineCollection.InsertItem(элемент int, элемент System.Web.Mvc.IViewEngine) + 0x89 байт
Я не могу понять, что вызывает исключение.
1 ответ
Я получаю ту же ошибку. Я подозреваю, что Postal построен с немного другой версией System.Web.Mvc, что основной проект, который вызывает несовместимость ViewEngine... Но у меня есть только производственные двоичные файлы почтовых...