Spark を使用する ASP.NET MVC 2 アプリには、次のフォルダー構造があります。
[site root]
home
HomeController.cs
Views
Shared
Index.spark
ただし、Index.spark を /home フォルダーに移動すると、次のエラーが発生します。
The view 'Index' or its master was not found. The following locations were searched:
~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
Home\Index.spark
Shared\Index.spark
ファイル \home\index.spark が実際に存在するため、これは特に混乱を招きます。助言がありますか?
index.spark を /views/shared フォルダーに移動すると問題は解決しますが、すべてのビューを 1 つのフォルダーに詰め込みたくありません。
アップデート*
Spark ソースの DefaultDescriptorBuilder.cs を変更しました。
protected virtual IEnumerable<string> PotentialViewLocations(string controllerName, string viewName, IDictionary<string, object> extra)
{
return ApplyFilters(new[]
{
"~/"+controllerName+"/"+viewName+".spark",
controllerName + "\\" + viewName + ".spark",
"Shared\\" + viewName + ".spark"
}, extra);
}
行を追加することで
"~/"+controllerName+"/"+viewName+".spark",
これは問題を修正しました。ソースを変更する以外にこれを行う方法があるかどうか誰でも知っていますか?