6

簡単な部分:

ドロップダウンを使用して、Visual Studio 2010 プロジェクトで .NET 2.0 フレームワークをターゲットにします。

難しい部分:

特定の構文バージョンをターゲットにすることは可能ですか?たとえばvar s = "hello world"、VS2008 以降では有効な構文シュガーですが、VS2005 ではコンパイルされません。VS2010 は、コンパイル時にこれにフラグを立てるように構成できますか?

4

3 に答える 3

9

これは、プロジェクト設定で言語バージョンを指定することで実行できます。言語バージョンを C# 2.0 に設定するには、次の手順を実行します。

  • プロジェクトを右クリックし、「プロパティ」を選択します
  • 「ビルド」タブに移動します
  • 「高度な」ボタンをクリックします
  • 「言語バージョン」ドロップダウンを「ISO-2」に変更します

ここに画像の説明を入力

Visual Studio 2010 でのその他の選択肢とその意味を次に示します。

  • ISO-1: C# 1.0 / Visual Studio RTM および 2003
  • ISO-2: C# 2.0 / Visual Studio 2005
  • C# 3.0: C# 3.0 / Visual Studio 2008
  • デフォルト: C# 4.0 / Visual Studio 2010
于 2011-02-14T16:51:35.153 に答える
8

はい。IDE から次のように設定します。

Project Properties -> Build -> Advanced -> Language Version : ISO-2
于 2011-02-14T16:50:58.083 に答える
2

はい、他の人が言ったように、これを行うことができますが、プレゼンテーションを行っているときに発見したように、C# 1 コンパイラの完全なシミュレーションではありません。構文の「大きな」変更は検出されますが、動作の微妙な変更は検出されません。たとえば、C# 1 にはメソッド グループの変換がないため、次のようにすることはできません。

delegate void Foo(string x);
void Bar(string y) {}
...
Foo foo = Bar;

...しかし、C# 4 コンパイラを C# 1 をターゲットに設定するだけでは、これは検出されません。

于 2011-02-14T16:55:32.887 に答える