簡単な部分:
ドロップダウンを使用して、Visual Studio 2010 プロジェクトで .NET 2.0 フレームワークをターゲットにします。
難しい部分:
特定の構文バージョンをターゲットにすることは可能ですか?たとえばvar s = "hello world"
、VS2008 以降では有効な構文シュガーですが、VS2005 ではコンパイルされません。VS2010 は、コンパイル時にこれにフラグを立てるように構成できますか?
簡単な部分:
ドロップダウンを使用して、Visual Studio 2010 プロジェクトで .NET 2.0 フレームワークをターゲットにします。
難しい部分:
特定の構文バージョンをターゲットにすることは可能ですか?たとえばvar s = "hello world"
、VS2008 以降では有効な構文シュガーですが、VS2005 ではコンパイルされません。VS2010 は、コンパイル時にこれにフラグを立てるように構成できますか?
これは、プロジェクト設定で言語バージョンを指定することで実行できます。言語バージョンを C# 2.0 に設定するには、次の手順を実行します。
Visual Studio 2010 でのその他の選択肢とその意味を次に示します。
はい。IDE から次のように設定します。
Project Properties -> Build -> Advanced -> Language Version : ISO-2
はい、他の人が言ったように、これを行うことができますが、プレゼンテーションを行っているときに発見したように、C# 1 コンパイラの完全なシミュレーションではありません。構文の「大きな」変更は検出されますが、動作の微妙な変更は検出されません。たとえば、C# 1 にはメソッド グループの変換がないため、次のようにすることはできません。
delegate void Foo(string x);
void Bar(string y) {}
...
Foo foo = Bar;
...しかし、C# 4 コンパイラを C# 1 をターゲットに設定するだけでは、これは検出されません。