Renderizando visualizações do Spark no aplicativo Web ASP.NET MVC3 do Windows Azure

StackOverflow https://stackoverflow.com/questions/5007162

  •  14-11-2019
  •  | 
  •  

Pergunta

Eu construí um aplicativo da web em ASP.NET MVC3 com mecanismo de visualização Spark 1.5 - funciona bem em minha máquina de desenvolvimento local, mas quando hospedado no Windows Azure ele não consegue encontrar o Spark Views.Recebo a seguinte tela de erro padrão:

The view 'Logon' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Account/Logon.aspx
~/Views/Account/Logon.ascx
~/Views/Shared/Logon.aspx
~/Views/Shared/Logon.ascx
~/Views/Account/Logon.cshtml
~/Views/Account/Logon.vbhtml
~/Views/Shared/Logon.cshtml
~/Views/Shared/Logon.vbhtml
Account\Logon.spark
Shared\Logon.spark

Parece-me que o Spark não está pesquisando as mesmas pastas que WebForms/Razor (já que não há prefixo ~/Views), mas não consigo encontrar onde isso está configurado no Spark.

Tentei adicionar o seguinte ao código de inicialização:

settings.AddViewFolder( ViewFolderType.VirtualPathProvider,new Dictionary<string, string> { { "virtualBaseDir", "~/Views/" } } );

...mas nenhuma mudança.Não posso deixar de sentir que há algo extremamente óbvio que estou perdendo.

Foi útil?

Solução

Você não deveria precisar adicionar um ~/Views/ provedor de caminho virtual, que acontece automaticamente por convenção e os caminhos de pesquisa acima são apenas a saída dos dois mecanismos de visualização (Razor e Spark) ligeiramente diferentes.Spark tem um caminho de visualização raiz de Views já é quando diz Account\Logon.spark já está no Views pasta.

Tenho a sensação de que suas visualizações do Spark não estão sendo copiadas para o Azure quando você empacota e implanta.É semelhante às dlls MVC3 antes de elas chegarem lá, você tinha que configurá-las para copiar localmente para garantir que o Azure tivesse acesso a elas.

Se você renomear o pacote do Azure para um arquivo .zip e abri-lo para ver se as visualizações foram incluídas como parte do conteúdo.Caso contrário, tente destacar um dos arquivos Spark no Solution Explorer e verifique as Propriedades.Colocou o Copy to Output Directory para Copy Always e crie e reempacote seu projeto do Azure.

Seu local bin pasta no projeto agora também deve ter uma pasta de visualizações com as visualizações do Spark contidas para verificação.

Tente fazer upload desse pacote e veja se funciona.

Espero que ajude,
Roubar

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