Estou testando o Visual Studio 2015 com C # 6.0, mas os recursos de idioma não estão funcionando. Em um aplicativo Web MVC, o código a seguir é compilado:
if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName))
{
// More logic here...
}
No entanto, quando executo o aplicativo via Debug e IIS Express, recebo o seguinte erro:
CS1525: Termo de expressão inválido '.'
Como habilito esses recursos?
c#
asp.net-mvc
visual-studio-2015
roslyn
c#-6.0
Chris Schiffhauer
fonte
fonte
compiler
elemento para o provedor de código de roslyn msdn.microsoft.com/en-us/library/y9x69bzw(v=vs.110).aspx no web.config?Respostas:
Isso funciona no MVC 5 (testado 5.2.3), você só precisa adicionar o pacote roslyn code dom Nuget
Provedores CodeDOM para .NET Compiler ...
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
fonte
nuget.org
. Como você pode ver no link, é o nome correto e o pacote existe.Bem, eu tenho o MVC5 e instalei recentemente o VS 2015.
Instalei o pacote de provedores do CodeDOM, mas não ajudou ... Mas depois disso, percebi que o pacote suporta apenas o framework 4.5, enquanto o framework de destino foi definido como 4.6 durante os testes - ele funciona com o 4.5 ...
Portanto, preste atenção também ao quadro-alvo. Se você possui o 4.5 - basta instalar o pacote Microsoft.CodeDom.Providers.DotNetCompilerPlatform. Mas se você tiver 4.5.1-4.6 como destino, precisará alterar na seção web.config
Para C # , basta alterar o tipo para:
fonte
C# 6
a trabalhar comASP.NET 4.6
, mas poderia ter sido melhor para postar o código com o corretotype
já está lá ...Eu estava tendo o mesmo problema no Visual Studio 2015. Outra resposta aqui se refere à solução que usei, mas eles especificaram incorretamente a correção e nunca deram esclarecimentos.
No menu Visual Studio, selecione Projeto e você verá o subitem Ativar C # 6 / VB 14, se você estiver tendo esse problema. Selecione este subitem de menu. Ele fará o download dos pacotes corretos do Nuget e os instalará. Depois disso, reinicie o Visual Studio e recarregue sua solução.
Não consigo verificar se isso também corrigirá a seleção Propriedades do projeto> Compilar> Avançado> Versão do idioma para C # 6 ; portanto, convém verificar isso depois de ativar o C # 6 no menu
fonte
Verifique as propriedades do seu projeto, vá para build, avançado e veja se o C # 6.0 se você não o possui como padrão.
Atualmente, existe um suporte perfeito para MVC5 e C # 6.0 e funciona incrivelmente bem!
fonte
Incluindo seguir o conselho de instalar o mais recente,
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
eu também tive que definir minha raizWeb.config
system.codedom
para finalmente obter todos os errosVisual Studio 2015
para desaparecer:Agora reinicie
Visual Studio
e isso deve ser feito.fonte
O Visual Studio 2015 também mostrará um
Enable C#6 / VB 14
no menu Projeto com um site / aplicativo da Web do ASP.NET selecionado.Isso irá de fato instalar
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
eMicrosoft.Net.Compilers
empacotar seu projeto e adicionar tags apropriadas ao arquivo web.config.fonte
fonte