2015-11-05 1 views
0

Я пытаюсь настроить 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
Message = Попытка доступа к элементу как к типу, несовместимому с массивом . Источник = mscorlib StackTrace: в System.Collections.Generic.List`1.Insert (индекс Int32, T элемент) InnerException:

Чтобы быть точным - это брошено во время добавления FileSystemRazorViewEngine в ViewEngineCollection. FileSystemRazorViewEngine происходит от IViewEngine и ViewEngineCollection происходит от Collection<IViewEngine>.

И вот StackTrace:

mscorlib.dll System.Collections.Generic.List.Insert (INT индекс, System .__ Canon пункт) + 0x3e байт

System.Web.Mvc. DLL! System.Web.Mvc.ViewEngineCollection.InsertItem (INT индекс, System.Web.Mvc.IViewEngine элемент) + 0x89 байт

Я не могу понять, что вызывает исключение.

ответ

0

У меня такая же ошибка. Я подозреваю, что Postal построен с немного другой версией System.Web.Mvc, что основной проект, который вызывает несовместимость ViewEngine ... Но у меня есть только производственные двоичные файлы почтового ...

Смежные вопросы