1

クラス ライブラリ プロジェクトで Postal を構成しようとしています。これを行うには、カスタム EmailService を構成する必要があります。郵便の Web ページには、これを行うためのスニペットがあります。

// 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>ます。

そして、ここにスタックトレースがあります:

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 バイト

例外の原因がわかりません。

4

1 に答える 1

0

同じエラーが発生しています。Postal は、ViewEngine の非互換性を引き起こすメイン プロジェクトである System.Web.Mvc のわずかに異なるバージョンで構築されていると思われます...

于 2015-11-23T03:43:43.413 に答える