「言語バージョン」オプション (コマンドラインで langversion とも呼ばれます) を使用できます。詳細オプションの下のビルドタブにあります。この場合、ISO-2 を選択します。
これは下位互換モードではないことに注意してください。指定されたバージョンよりも新しいバージョンで利用可能になった機能を使用できないようにするだけです。
Eric Lippert がlangversion オプションの使用法と目的について詳しく説明しています。
完全な下位互換性モードではないことに注意するには、記事から次の例を参照してください。
class C
{
public static bool operator < (C c1, C c2) { return true; }
public static bool operator > (C c1, C c2) { return true; }
public static bool operator < (bool b1, C c2) { return true; }
public static bool operator > (bool b1, C c2) { return true; }
static C H = new C();
static C I = new C();
static C J = new C();
static void G(bool b) { }
static void Main()
{
G ( H < I > ( J ) );
}
}
langversion を C# 1.0 (ISO-1) に設定すると、ジェネリックの使用が禁止されますが、そのバージョンのコンパイラでは合法でした。