Antecedentes
Tenemos un proyecto que estamos desarrollando en VS 2015 con C # 6 habilitado que ocasionalmente los desarrolladores deben abrir con VS 2013 sin C # 6.
No tenemos intención de usar C # 6 dentro de esta solución en particular (tanto como me gustaría).
Problema
Visual Studio y ReSharper sugieren útiles construcciones de lenguaje C # 6 que hacen que la solución no funcione en versiones anteriores de Visual Studio sin soporte C # 6.
He desactivado el soporte de ReSharper C # 6 pero parece que no puedo desactivar / limitar las características de C # en toda la solución.
Pregunta
¿Cómo limito las capacidades de C # a C # 5 dentro de una solución o dentro de Visual Studio 2015?
c#
visual-studio
c#-5.0
visual-studio-2015
c#-6.0
SeanKilleen
fuente
fuente
Respuestas:
Puede configurar la función de idioma para cada proyecto por separado yendo
Properties => Build tab => Advanced button => Language Version
y estableciendo su versión preferida.Debe darse cuenta de que seguirá utilizando la nueva plataforma de compilación .Net "C # 6.0" (con nombre en código Roslyn). Sin embargo, ese compilador imitará el comportamiento de los compiladores más antiguos y lo limitará a funciones solo disponibles en esa versión de idioma específica.
No creo que haya una configuración disponible para toda la solución.
fuente
PropertyGroup
elemento:<LangVersion>5</LangVersion>
<LangVersion>6</LangVersion>
en su lugar.agregar a continuación en
.sln.DotSettings
debe deshabilitarlo en el nivel de soluciónO si no tienes un
.sln.DotSettings
archivo:Si su archivo de solución se llama Apple.sln, cree un archivo al lado llamado Apple.sln.DotSettings.
Dele los siguientes contenidos:
Cierre y vuelva a abrir la solución, Resharper solo debería advertirle sobre las cosas de C # 5.
¡No olvide eliminar esto cuando finalmente comience a usar las funciones de C # 6! :)
fuente
Esta herramienta que escribí podría ayudarlo si tiene muchos proyectos para los que necesita establecer
LangVersion
.fuente
Puede configurar la función de idioma para todos
solutions/csproj
losMSBuildUserExtensionsPath
.Buscar el valor de la
$(MSBuildUserExtensionsPath)
, debería ser algo así comoC:\Users\$(User)\AppData\Local\Microsoft\MSBuild
Luego edite el archivo
Force.LangVersion.ImportBefore.props
en la carpeta$(MSBuildUserExtensionsPath)\14.0\Imports\Microsoft.Common.Props\ImportBefore
con:fuente
Los pasos ya se han escrito anteriormente, solo agregando una captura de pantalla más allá de mi VS2015:
Propiedades del proyecto >> Construir >> Avanzado >> Versión de idioma
Lo configuré en C # 5.0.
fuente
Haga clic derecho en Proyecto en el Explorador de proyectos y seleccione Propiedades.
Cuando se abra la pestaña Propiedades, seleccione Construir y haga clic en el botón Avanzar en la parte inferior derecha.
Hay un cuadro desplegable llamado Versión de idioma. Cambie la selección a "C # 5.0"
fuente