2013-08-24 19 views
6

Le viste parziali vengono visualizzate in modalità di debug ma non in modalità di rilascio.Le viste parziali di Nancy Razor non vengono visualizzate in modalità di rilascio

pila traccia

[ArgumentNullException: Value cannot be null. 
Parameter name: key] 
    System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +5895838 
    Nancy.ViewEngines.DefaultViewCache.GetOrAdd(ViewLocationResult viewLocationResult, Func`2 valueFactory) +329 
    Nancy.ViewEngines.Razor.RazorViewEngine.GetOrCompileView(ViewLocationResult viewLocationResult, IRenderContext renderContext, Assembly referencingAssembly, Type passedModelType) +186 
    System.Dynamic.UpdateDelegates.UpdateAndExecute5(CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4) +401 
    CallSite.Target(Closure , CallSite , RazorViewEngine , ViewLocationResult , IRenderContext , Assembly , Object) +575 
    Nancy.ViewEngines.Razor.RazorViewEngine.GetViewInstance(ViewLocationResult viewLocationResult, IRenderContext renderContext, Assembly referencingAssembly, Object model) +1128 
    System.Dynamic.UpdateDelegates.UpdateAndExecute5(CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4) +401 
    CallSite.Target(Closure , CallSite , RazorViewEngine , ViewLocationResult , IRenderContext , Assembly , Object) +495 
    Nancy.ViewEngines.Razor.<>c__DisplayClass1f.<RenderView>b__1e(Stream stream) +470 
    Nancy.ViewEngines.Razor.HtmlHelpers`1.Partial(String viewName, Object modelForPartial) +1872 
    RazorOutput.RazorView.<Execute>b__3() +632 
    Nancy.ViewEngines.Razor.NancyRazorViewBase`1.ExecuteView(String body, IDictionary`2 sectionContents) +374 
    Nancy.ViewEngines.Razor.<>c__DisplayClass1f.<RenderView>b__1e(Stream stream) +775 
    Nancy.Hosting.Aspnet.NancyHandler.ProcessRequest(HttpContextBase context) +81 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +913 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165 

master.cshtml (sezione rilevante solo)

@if (IsSectionDefined("sidebar")) { 
    <div id="two-col"> 
     @RenderBody() 
    </div> 
    <div id="sidebar"> 
     @RenderSection("sidebar") 
    </div> 
} else { 
    <div id="one-col"> 
     @RenderBody() 
    </div> 
} 

index.cshtml

@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<dynamic> 
@{ Layout = "master.cshtml"; } 

// html for body, doesn't use model 

@section sidebar { 
    @Html.Partial("/sidebars/sidebar.cshtml", Model) 
} 

sidebar.cshtml (sezione campione)

<ul> 
@foreach (var item in Model.Items) 
{ 
    <li>@Html.Raw(@item.DisplayText)</li> 
} 
</ul> 
+0

Sembra essere correlato alla modalità di rilascio: trovato questo https://groups.google.com/forum/#!searchin/nancy-web-framework/razor/nancy-web-framework/T95zFkxeJjg/LkWguk-xwI8J – Leslie

risposta

8

Ho avuto questo problema di recente, ma collegato alle mie pagine di layout principali. Guardando la tua pagina indice potrebbe essere una delle due cose, come me, il percorso verso la tua pagina principale o il percorso verso il tuo parziale. Se si rimuove la barra iniziale sull'URL parziale o se la pagina principale si trova in una cartella condivisa, aggiungere il percorso completo all'URL (senza barre iniziali o ~ /).

Ecco dove ho trovato la soluzione. https://groups.google.com/forum/#!topic/nancy-web-framework/zRLth_hl2r8

HTH

+0

Grazie così tanto! Pensavo di averlo provato, ma ovviamente no. Rimosso le barre iniziali sui miei partial e tutto va bene. :) – Leslie

+0

Questo è strano. Ha funzionato bene per diverse pubblicazioni (al sito Web di Azure). Stavo usando percorsi relativi al layout e file .cshtml parziali. Confermato che la rimozione di questi ha risolto il problema. – Aaron

1

Nel nostro caso il problema era che il Visualizzazioni ci riferivamo al mancavano l'impostazione:

Corporatura Azione: Content

significato in modalità debug i file sono stati essere letti dal file system, ma non venivano copiati nella cartella bin di rilascio durante l'esecuzione in modalità di rilascio.

Problemi correlati