Spark Themes Shared Layouts Bug when using spark view from shared directory

28 views
Skip to first unread message

sianabanana

unread,
Jan 11, 2012, 6:56:01 AM1/11/12
to Spark View Engine Dev
I am using the Theme engine and have a project with a default theme
and two other themes.

One theme has a completely different layout and has its own
application.spark file in a layout directory within the themes folder.

The other two use the same layout and therefore dont have a themed
layout directory and pick up their application.spark from the main
Layouts directory.

This all works fine for all my normal spark views.

However, i have one view which is reused by many controllers, so is
located in the Shared directory.

For this view i get the below error (inc stack trace).

copying in the layouts to the themes folder does fix this, but i would
rather not do this as this means i have two sets of layouts to
maintain and potentially more in future when i have more themes.

Can someone confirm that this is a genuine bug and whether it can be
fixed.

Thanks.

_________________________________________________________________________

Unable to include template
'System.Collections.Generic.List`1[System.String]' recusively
Description: An unhandled exception occurred during the execution of
the current web request. Please review the stack trace for more
information about the error and where it originated in the code.

Exception Details: Spark.Compiler.CompilerException: Unable to include
template 'System.Collections.Generic.List`1[System.String]' recusively

Source Error:

An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of
the exception can be identified using the exception stack trace
below.

Stack Trace:


[CompilerException: Unable to include template
'System.Collections.Generic.List`1[System.String]' recusively]
Spark.SparkViewEngine.LoadTemplates(ViewLoader loader,
IEnumerable`1 templates, ICollection`1 chunksLoaded, ICollection`1
templatesLoaded) +205
Spark.SparkViewEngine.CreateEntryInternal(SparkViewDescriptor
descriptor, Boolean compile) +151
Spark.SparkViewEngine.CreateEntry(SparkViewDescriptor descriptor)
+45
Spark.Web.Mvc.SparkViewFactory.FindViewInternal(ControllerContext
controllerContext, String viewName, String masterName, Boolean
findDefaultMaster, Boolean useCache) +310
Spark.Web.Mvc.SparkViewFactory.FindView(ControllerContext
controllerContext, String viewName, String masterName, Boolean
useCache) +21

Spark.Web.Mvc.SparkViewFactory.System.Web.Mvc.IViewEngine.FindView(ControllerContext
controllerContext, String viewName, String masterName, Boolean
useCache) +18
System.Web.Mvc.<>c__DisplayClass6.<FindView>b__5(IViewEngine e) +24
System.Web.Mvc.ViewEngineCollection.Find(Func`2 cacheLocator,
Func`2 locator) +248
System.Web.Mvc.ViewEngineCollection.FindView(ControllerContext
controllerContext, String viewName, String masterName) +160
System.Web.Mvc.ViewResult.FindView(ControllerContext context) +138
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext
context) +139

System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext
controllerContext, ActionResult actionResult) +10

System.Web.Mvc.<>c__DisplayClass14.<InvokeActionResultWithFilters>b__11()
+20

System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter
filter, ResultExecutingContext preContext, Func`1 continuation) +251

System.Web.Mvc.<>c__DisplayClass16.<InvokeActionResultWithFilters>b__13()
+19

System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter
filter, ResultExecutingContext preContext, Func`1 continuation) +251

System.Web.Mvc.<>c__DisplayClass16.<InvokeActionResultWithFilters>b__13()
+19

System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter
filter, ResultExecutingContext preContext, Func`1 continuation) +251

System.Web.Mvc.<>c__DisplayClass16.<InvokeActionResultWithFilters>b__13()
+19

System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext
controllerContext, IList`1 filters, ActionResult actionResult) +178

System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext
controllerContext, String actionName) +314
System.Web.Mvc.Controller.ExecuteCore() +105
System.Web.Mvc.ControllerBase.Execute(RequestContext
requestContext) +39

System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext
requestContext) +7
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__4() +34
System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
+21

System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult
_) +12
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +59
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult
asyncResult) +44

System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult
result) +7

System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+8690318
System.Web.HttpApplication.ExecuteStep(IExecutionStep step,
Boolean& completedSynchronously) +155


Reply all
Reply to author
Forward
0 new messages