c# - paquete - ¿Cómo cambiar la versión de idioma por defecto de Visual Studio 2017 para todos los proyectos?
cambiar idioma visual studio 2017 (1)
¿Cómo configurar la versión de idioma en C # 7.0 para todos los proyectos?
Proyecto / Propiedades / Construir / Avanzado ... / Configuración avanzada de compilación
De dónde viene el parámetro predeterminado, quiero cambiar el valor predeterminado
PD: no me refiero al lenguaje de la interfaz de usuario
El significado del valor default
proviene del compilador de C #. Por lo tanto, para cambiar su significado, debes cambiar el compilador.
Pero en el compilador que viene con Visual Studio 2017, el default
es C # 7.0, por lo que no necesita hacer nada.
Visual Studio Project System simplemente pasa el valor de la versión de idioma a MSBuild. Y MSBuild lo pasa al compilador de C # como una opción /langversion
. /langversion
opción /langversion
permite especificar una versión de idioma superior que el compilador acepta. En otras palabras, le permite restringir el uso de las características del idioma a una versión determinada. Si usa una característica de la versión de idioma superior a la especificada, el compilador de C # emitirá un error. Eso es todo. Si especifica /langversion
como default
, el compilador de C # aceptará toda la sintaxis válida que incluye la última versión del lenguaje de C # principal (consulte la página / langversion (Opciones del compilador de C #) en MSDN). La última versión importante de C # que viene con Visual Studio 2017 es 7.0. Consulte las características agregadas en la página de versiones de lenguaje C # en el repositorio de C # GitHub.
Si necesita habilitar las funciones de las últimas versiones menores (7.1, 7.2, etc.) o prohibir el uso de algunas funciones nuevas de C # para múltiples proyectos o soluciones a la vez, puede usar el archivo de personalización de MSBuild 15 Directory.Build.props. Extracto relevante de Personalice su artículo de compilación en MSDN:
... ahora puede agregar una nueva propiedad a cada proyecto en un solo paso definiéndola en un solo archivo llamado Directory.Build.props en la raíz de su repositorio. Cuando se ejecuta MSBuild, Microsoft.Common.props busca en la estructura de su directorio el archivo Directory.Build.props (y Microsoft.Common.targets busca Directory.Build.targets). Si encuentra uno, importa la propiedad. Directory.Build.props es un archivo definido por el usuario que proporciona personalizaciones para proyectos bajo un directorio.
El siguiente ejemplo de un archivo Directory.Build.props indica al compilador de C # que acepte toda la sintaxis válida de una última versión menor de C # (C # 7.2 en Visual Studio 2017 versión 15.5.3) en todos los proyectos dado que su archivo .csproj no incluye <LangVersion>
etiqueta que tiene prioridad:
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
</Project>
Para más información verifique:
- ¿Qué hace el interruptor de langversión? artículo de Eric Lippert
- Código fuente del sistema de proyectos
- Página de propiedades del proyecto MSBuild común en MSDN, propiedad CscToolPath en particular