Eu estava analisando os recursos mais recentes introduzidos no C # 6.0 e apenas segui um exemplo de inicializador automático de propriedades,
class NewSample
{
public Guid Id { get; } = Guid.NewGuid();
}
mas meu IDE não reconheceu a sintaxe.
Gostaria de saber como eu poderia habilitar o C # 6.0 no Visual Studio 2013. A estrutura de destino que estou usando é 4.5.1.
c#
visual-studio
visual-studio-2013
c#-6.0
Hassaan
fonte
fonte
Respostas:
Informações para software de pré-lançamento obsoleto:
De acordo com isso , é apenas uma instalação e escolha o Visual Studio 2013:
Portanto, basta obter os arquivos em https://github.com/dotnet/roslyn e você está pronto para começar.
Você precisa saber que é uma versão desatualizada das especificações implementadas lá, pois elas não atualizam mais o pacote do Visual Studio 2013 :
Portanto, se você quiser usar a versão mais recente, precisará fazer o download do Visual Studio 2015 .
fonte
No VS2013, você pode instalar os novos compiladores no projeto como um pacote de nuget . Dessa forma, você não precisa do VS2015 ou de um servidor de compilação atualizado.
https://www.nuget.org/packages/Microsoft.Net.Compilers/
O pacote permite que você use / crie código / sintaxe C # 6.0. Como o VS2013 não reconhece nativamente a nova sintaxe do C # 6.0, ele mostrará erros na janela do editor de código, embora seja compilado corretamente .
Usando o Resharper, você obterá linhas irregulares nos recursos do C # 6, mas a lâmpada oferece a opção de 'Ativar o suporte ao C # 6.0 para este projeto' (configuração salva em .DotSettings).
Como mencionado por @ stimpy77: para suporte nas visualizações do MVC Razor, você precisará de um pacote extra (para aqueles que não lêem os comentários)
Se você deseja suporte completo ao C # 6.0, precisará instalar o VS2015.
fonte
Muitas das respostas aqui foram escritas antes de Roslyn (os compiladores .NET C # e VB de código aberto) migrar para o .NET 4.6. Portanto, eles não o ajudarão se o seu projeto atingir, digamos, 4.5.2 como o meu (herdado e não pode ser alterado).
Mas você pode pegar uma versão anterior do Roslyn em https://www.nuget.org/packages/Microsoft.Net.Compilers e instalá-la em vez da versão mais recente. Eu usei 1.3.2. (Tentei a 2.0.1 - que parece ser a última versão que roda no .NET 4.5 - mas não consegui compilar *.) Execute isso no console do Gerenciador de Pacotes no VS 2013:
Em seguida, reinicie o Visual Studio. Eu tive alguns problemas inicialmente; você precisa definir a versão do C # de volta ao padrão (o C # 6.0 não aparece na lista de versões, mas parece ter sido o padrão), depois limpar, salvar, reiniciar o VS e recompilar.
Curiosamente, não tive nenhum erro do IntelliSense devido aos recursos do C # 6.0 usados no código (que foram o motivo para desejar o C # 6.0 em primeiro lugar).
* versão 2.0.1 gerou erro A tarefa "Microsoft.CodeAnalysis.BuildTasks.Csc não pôde ser carregada do assembly Microsoft.Build.Tasks.CodeAnalysis.dll. Não foi possível carregar o arquivo ou assembly 'Microsoft.Build.Utilities.Core, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a 'ou uma de suas dependências. O sistema não consegue encontrar o arquivo especificado. Confirme se a declaração está correta, se o assembly e todas as suas dependências estão disponíveis e se a tarefa contém um arquivo classe pública que implementa Microsoft.Build.Framework.ITask.
ATUALIZAÇÃO Uma coisa que notei desde a publicação desta resposta é que, se você alterar qualquer código durante a depuração ("Editar e continuar"), verá que seu código C # 6.0 aparecerá repentinamente como erros no que parece reverter para um ambiente anterior ao C # 6.0. Isso requer uma reinicialização da sua sessão de depuração. MUITO chato, especialmente para aplicativos da web.
fonte
Vale ressaltar que o tempo de compilação será aumentado para usuários do VS 2015 após :
Aqueles que estão usando o VS 2015 e precisam manter esse pacote em seus projetos podem corrigir o aumento do tempo de criação .
Edite o arquivo
packages\Microsoft.Net.Compilers.1.2.2\build\Microsoft.Net.Compilers.props
e limpe-o. O arquivo deve se parecer com:Isso força o projeto a ser construído como era antes de adicionar o
Microsoft.Net.Compilers
pacotefonte
É possível usar os recursos completos do C # 6.0 no Visual Studio 2013 se você tiver o Resharper.
Você precisa habilitar o Resharper Build e pronto! Em Opções do resharper -> Compilar - habilite a compilação do resharper e, em "Usar versão do MSBuild.exe", escolha "Última instalação"
Dessa forma, o Resharper criará seus Projetos C # 6.0 e também não sublinhará o código C # 6.0 como inválido.
Também estou usando isso, embora eu tenha o Visual Studio 2015 porque:
Estou colocando isso aqui, pois estava procurando uma solução para esse problema já há algum tempo e talvez isso ajude outra pessoa.
fonte
Parece que há algum mal-entendido. Portanto, em vez de tentar corrigir o VS2013, aqui está a resposta de um funcionário da Microsoft: https://social.msdn.microsoft.com/Forums/vstudio/en-US/49ba9a67-d26a-4b21-80ef-caeb081b878e/will-c- 60-sempre-apoiado-contra-2013? Forum = roslyn
Então, leia e instale o VS2015.
fonte