fundo
Temos um projeto que estamos desenvolvendo no VS 2015 com o C # 6 habilitado que ocasionalmente precisa ser aberto pelos desenvolvedores que usam o VS 2013 sem o C # 6.
Não temos a intenção de usar o C # 6 nessa solução específica (tanto quanto eu gostaria).
Problema
O Visual Studio e o ReSharper sugerem construções úteis da linguagem C # 6 que tornam a solução inoperante em versões anteriores do Visual Studio sem suporte ao C # 6.
Eu desativado o ReSharper C # 6 apoio , mas eu não consigo desativar / limite de C # apresenta em toda a solução.
Questão
Como limite os recursos de C # a C # 5 em uma solução ou no Visual Studio 2015?
c#
visual-studio
c#-5.0
visual-studio-2015
c#-6.0
SeanKilleen
fonte
fonte
Respostas:
Você pode definir o recurso de idioma para cada projeto separadamente, acessando
Properties => Build tab => Advanced button => Language Version
e definindo sua versão preferida.Você deve perceber que ele ainda usará a nova plataforma de compilador "C # 6.0" .Net (codinome Roslyn). No entanto, esse compilador imitará o comportamento de compiladores mais antigos e limitará você a recursos disponíveis apenas nessa versão específica do idioma.
Não acho que exista uma configuração disponível para toda a solução.
fonte
PropertyGroup
elemento:<LangVersion>5</LangVersion>
<LangVersion>6</LangVersion>
.adicione abaixo em
.sln.DotSettings
deve desativá-lo no nível da soluçãoOu se você não possui um
.sln.DotSettings
arquivo:Se o arquivo de solução for chamado Apple.sln, crie um arquivo ao lado chamado Apple.sln.DotSettings.
Forneça o seguinte conteúdo:
Feche e reabra a solução, o Resharper deve avisá-lo apenas sobre as coisas do C # 5.
Não se esqueça de remover isso quando você começar a usar os recursos do C # 6! :)
fonte
Essa ferramenta que escrevi pode ajudá-lo se você tiver muitos projetos para os quais precisa definir
LangVersion
.fonte
Você pode definir o recurso de idioma para todos os itens
solutions/csproj
comMSBuildUserExtensionsPath
.Pesquise o valor de
$(MSBuildUserExtensionsPath)
, deve ser algo comoC:\Users\$(User)\AppData\Local\Microsoft\MSBuild
Em seguida, edite o arquivo
Force.LangVersion.ImportBefore.props
na pasta$(MSBuildUserExtensionsPath)\14.0\Imports\Microsoft.Common.Props\ImportBefore
com:fonte
As etapas já foram escritas acima, apenas adicionando uma captura de tela adicional do meu VS2015:
Propriedades do projeto >> Build >> Advanced >> Versão do idioma
Eu defino isso como C # 5.0.
fonte
Clique com o botão direito do mouse em Projeto no Project Explorer e selecione Propriedades.
Quando a guia Propriedades abrir, selecione Construir e clique no botão Avançar no canto inferior direito.
Há uma caixa suspensa chamada Versão do idioma. Altere a seleção para "C # 5.0"
fonte