Não é possível executar System.Web.Optimization com Nancy Self Hosting
Pergunta
Alguém teve sorte ao usar System.Web.Optimization com Nancy Self Hosting?Se eu comentar "Styles.Render("~/csspack/logincss).ToString()" a visualização funciona bem.Se eu deixar em uma página em branco é enviado para o navegador.
Esta é a aparência da minha configuração do Razor.
public class RazorConfig : IRazorConfiguration
{
public IEnumerable<string> GetAssemblyNames()
{
yield return "Microsoft.Web.Infrastructure";
yield return "WebGrease";
yield return "System.Web.Optimization";
yield return "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a";
}
public IEnumerable<string> GetDefaultNamespaces()
{
yield return "Microsoft.Web.Infrastructure";
yield return "WebGrease";
yield return "System";
yield return "System.Web";
yield return "System.Web.Optimization";
yield return "Nancy.ViewEngines.Razor";
}
public bool AutoIncludeModelNamespace
{
get { return false; }
}
}
Eu registrei na inicialização assim.
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
{
container.Register<IRazorConfiguration, RazorConfig>().AsSingleton();
container.Register<RazorViewEngine>();
.....bundle code...
}
Esta é a minha opinião.
inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<dynamic>
@using Nancy.Helpers
@using System.Web.Optimization
<!DOCTYPE html>
<html lang="en">
<head>
<head>
<meta charset="utf-8" />
<title>Log In</title>
@Html.Raw(Styles.Render("~/csspack/logincss").ToString())
</head>
.... more html ....
Solução
Não consegui fazer isso funcionar, então acabei mudando para o Cassette.http://getcassette.net/
Trabalhei desde o início sem problemas.Realmente não precisou mudar muito.Parece que System.Web.Optimization pegou muito emprestado do Cassette.
Atualizar
O Cassette estava me causando problemas estranhos de desempenho e erros ao executar no Linux.Acabei construindo o meu próprio. https://github.com/donnyv/Nancy.BundleIt