Estou tentando criar um aplicativo da web usando Visual Studio 2015 e .NET 4.5.1. Quando eu publico o site, o Visual Studio cria uma pasta chamada roslyn
.
Eu sei que é usado para compilar código em tempo real, mas infelizmente meu provedor de hospedagem não permite que eu execute o compilador em seu servidor.
Como publicar o site sem roslyn
gostar da versão anterior do Visual Studio?
EDIT: Recebi este erro ao tentar acessar meu site.
Parece que o IIS está tentando executar, roslyn\csc.exe
mas minha conta de usuário não tem permissão para fazer isso. Com a versão anterior do Visual Studio, esse erro não aparece.
visual-studio
visual-studio-2015
roslyn
Niyoko Yuliawan
fonte
fonte
Respostas:
Acabei de enfrentar o mesmo problema. Quando você cria um novo projeto da web, dois pacotes nuget são adicionados automaticamente ao seu projeto. Se você removê-los, seu problema estará resolvido. Os nomes dos pacotes são: " Microsoft.CodeDom.Providers.DotNetCompilerPlatform " e " Microsoft.Net.Compilers ".
fonte
Import
nós,Target
nós (EnsureNugetPackageBuildImports) eReference
nós. Remova também o<system.codedom>
nó do seu web.config.Eu tive o mesmo problema. Siga as etapas a partir daqui . Basicamente:
Desinstale o pacote
Em suas configurações de perfil de publicação, desmarque "Permitir que o site pré-compilado seja atualizável". Você pode encontrar isso em Configurações> Pré-compilar durante a publicação> configurar
fonte
Depois de pesquisar o mesmo problema que enfrento, acabei de vim aqui. Eu li a resposta acima que está certa.
Eu dou a resposta, por causa de Aqui está um bom artigo para explicar:
Este é também o artigo muito bom, sobre a história deste exe
fonte
Depois de inúmeros esforços .... e de acordo com este site . Acho que você pode usar
/p:UseWPP_CopyWebApplication=true /p:PipelineDependsOnBuild=false
no MSBuild para transformar o web.config, isso também inclui o compilador roslyn na compilação. A saída é a mesma que você obtém publicando no Visual Studio no sistema de arquivosfonte
Há um bug aberto no repositório roslyn sobre esse problema.
No meu caso, tudo que precisei fazer foi fazer o downgrade da dll
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
de versão1.0.6
para1.0.5
.fonte
Tive o mesmo problema em setembro de 2016, quando assumi um programa ASP.NET existente. Descobri que havia várias versões dos dois pacotes de compiladores mencionados por Kemal instaladas em diferentes projetos da solução.
Então, primeiro eu atualizei para mantê-los iguais. O VS não informa que as atualizações estão disponíveis neste cenário (ou talvez eu as perdi?)
Em seguida, reiniciei o VS2015 para que os pacotes fossem limpos corretamente.
fonte