¿Cómo puede detectar un programa C# que se está compilando en una versión de C# que no admite las características del lenguaje utilizadas en ese programa?¿Cómo se puede hacer la compilación del código C# para que requiera un idioma determinado o la versión del compilador?
El compilador de C# rechazará el programa y generará algún mensaje de error al encontrar las características del idioma que no admite. Esto no soluciona el problema, que es afirmar que el programa se está compilando con una versión demasiado antigua del compilador de C#, o un compilador de C# que no admite la versión requerida de C#
Idealmente, sería como simple como
#if CS_VERSION < 3
#error CSharp 3 or later is required
#end
El contexto de esta es la compilación de la máquina genera código C#, a través de los compiladores de línea de comandos, rompió con una variedad de errores debido a que la mayor compilador de C# (.NET 2005) fue recogido en el camino antes de la versión actual (.NET 2008), y no fue inmediatamente obvio que el error no estaba en el generador del código C#. – grrussel
Bien, ¿se están ejecutando esos compiladores en algún tipo de script? Si es así, ahí es donde el archivo RequiredFeatures.cs sería útil. –
¿Puedes destacar la función específica 4.0 a la que te refieres? ¿Cómo es esto diferente a/langVersion? Me interesaría ver qué hace con el ejemplo que brindé a continuación ... –