Pergunta

Eu tenho um serviço de nuvem com uma função Web Asp.Net MVC 5 e Azure SDK 2.3 visando a estrutura 4.5.1;O site funciona perfeitamente em Local.Mas quando eu o implanto no serviço Azure Cloud, tenho o clássico erro de referência nula:

Referência de objeto não definida para uma instância de um objeto.Detalhes da exceção:System.NullReferenceException:Referência de objeto não definida para uma instância de um objeto.

Erro de origem:

Line 9:      @Scripts.Render("~/bundles/jquery")

Meu BundleConfig.cs é simples:

    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                     "~/Scripts/jquery-{version}.js",
                     "~/Scripts/knockout-{version}.js",
                     "~/Scripts/jquery.signalR-{version}.js",
                     "~/Scripts/modernizr-{version}.js"
                    ));

Usando logs do Intellitrace no WebRole, posso ver este erro:

nome de arquivo inválido para monitoramento de arquivo 'E:\sitesroot\0\Scripts

Entrando remotamente na instância vejo que a pasta Scripts está exatamente nesse caminho.

Removendo o @Script.Render a página carrega normalmente.O @Style.Render na mesma página funciona.

Tentei implantar no modo Debug e no modo Release, ambos em Staging.

Também tentei alterar no Web.config o

compilation debug="true" and false

sem sucesso.Alguma idéia de por que isso poderia acontecer?Obrigado

Foi útil?

Solução

Após dias de testes descobri que o problema é o pacote WEBGREASE.Atualizá-lo causará o problema mesmo em um novo projeto.Por enquanto, desinstalá-lo e reinstalar a versão anterior resolveu o problema.

Outras dicas

Tente remover tudo, exceto jquery, do pacote jquery.Em seguida, crie um novo pacote para os scripts dependentes de jquery (knockout, jquery.signalR e modernizr) e renderize-o após o pacote jquery.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top