Si todo lo demás falla, pruébelo. Acabo probado las siguientes en VS2010b2, compilado focalización 2.0:
using System;
class Program {
static void Main() {
Write();
Write(msg: "world");
Console.ReadLine();
}
static void Write(string msg = "Hello") {
Console.WriteLine(msg);
}
}
Este utiliza dos nuevos C# 4.0 lenguaje características, que utilizan el meta-datos que también está presente en 2.x .NET/3 .x/CLR 2; se ejecuta bien en mi máquina normal (CLR 2) (mi VS2010b2 es una VM). Entonces concluyo "sí, por algunas características". Obviamente, si utiliza una función dependiente del marco (dynamic
, etc.), no va a terminar tan bien.
Editar: re su comentario; He intentado csc
en la línea de comandos, y de forma predeterminada este hace objetivo CLR 4; Trataré de ver si puedo hacer que apunte a CLR 2 (como VS obviamente puede). Por desgracia, ya no incluye el (, fingido por cierto) de línea de comandos en la ventana de resultados de generación ...
Actualización: algunos "en el saber" la gente regresó con:
Pass/nostdlib y una referencia a la 2.0 mscorlib.dll.
y bastante seguro:
C:\Windows\Microsoft.NET\Framework\v4.0.21006>csc /nostdlib /reference:%SystemRo
ot%\microsoft.net\framework\v2.0.50727\mscorlib.dll /out:c:\my.exe /target:exe "
C:\Users\Marc\Documents\Visual Studio 2010\Projects\ConsoleApplication6\ConsoleA
pplication6\program.cs"
Microsoft (R) Visual C# 2010 Compiler version 4.0.21006.1
Copyright (C) Microsoft Corporation. All rights reserved.
funciona bien (exe funciona en mi máquina no 4.0). Crédito: Kevin Pilch-Bisson
¿Qué es la comparabilidad binaria? –
Bob quiso decir 'compatibilidad' –
jaja corregir Ed, sabes que no puedes deletrear cuando no puedes confiar en el corrector ortográfico. ¡Gracias! – Bob