A compilação Roslyn (.NET Compiler Platform), agora é padrão a partir da versão 4.5 da plataforma .NET, e isso significa que se você criar qualquer aplicação web, Web Forms ou MVC, você terá o compilador Roslyn pré-instalado em seu projeto na pasta bin dentro da pasta roslyn:


Porque usar a compilação Roslyn ?

Ao usar a compilação Roslyn você tem acesso a muitos recursos durante o desenvolvimento do seu aplicativo e também durante a implantação no servidor.

Apenas para citar algumas das vantagens:

– Durante o desenvolvimento da aplicação

Antes do Roslyn quando você fazia qualquer alteração no seu código (C#. VB .NET), era preciso realizar um build para ver o resultado no navegador. Com o Rosyln isso não é mais necessário.

– Durante a implantação no servidor

Ao desenvolver uma aplicação Web escrevemos código C# e HTML mesclados nas páginas ASPX ou nas views MVC e isso requer algum tipo de compilação para exibir o resultado ao usuário afetando o tempo de carregamento da página. Dessa forma usando o Roslyn essa compilação não será necessária e o tempo de carga da página vai melhorar.

Assim somente esses dois benefícios já valeria a pena usar o Roslyn. Existem mais recursos que o Roslyn possui e eu não citei aqui. Para detalhes veja as referências.

O problema do Roslyn em hospedagem compartilhada

Se você está tentando publicar sua aplicação com o Roslyn em hospedagem compartilhada, você pode ter problemas.

Quando vamos fazer a implantação de uma aplicação no servidor ela é executada no modo Full Trust (confiança total), e, empresas de hospedagem compartilhadas não permitem que aplicativos executem no modo Full Trust. Em geral elas substituem o Full Trust por Medium Trust devido a restrições de segurança, visto que, elas hospedam sites de diversos clientes e assim evitam que uma aplicação web de um cliente afete a aplicação de outro cliente.

A compilação Roslyn somente vai funcionar em modo Full Trust, e, dessa forma em ambientes compartilhados, você terá problemas se a sua hospedagem não permitir esse modo.

Se a hospedagem compartilhada não der suporte ao modo Full Trust você não poderá implantar a sua aplicação usando o Roslyn

O que fazer agora?

Como implantar a sua aplicação web sem o Roslyn em servidores compartilhados?

Felizmente você pode implantar a sua aplicação sem o Roslyn e não precisa fazer nenhuma mudança no código.

Abra a janela do Gerenciador de pacotes NuGet e desinstale os pacotes :

  • “Microsoft.CodeDom.Providers.DotNetCompilerPlatform”
  • “Microsoft.Net.Compilers”

Esta desinstalação também vai remover a configuração CodeDom do arquivo web.config e isso vai resolver o problema.

Fonte: http://www.macoratti.net/16/05/net_rosl1.htm

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Post Navigation