6

Visual Studio 2013 はどの C# コンパイラを使用しますか? 新しい Roslyn コンパイラを使用して Visual Studio 2015 をインストールすると、Visual Studio 2013のインストールに影響がありますか?

私たちのコードが Visual Studio 2015 でビルドされたときに失敗することが知られているいくつかのテストがあるため、お尋ねします。一部の数値は、有効数字 8 桁で異なります。Visual Studio 2015 がリリースされたときの解決策は、おそらくテストの許容範囲を増やすことですが、Visual Studio が使用するコンパイラをどのように決定するかを理解したいと思います。

古いコンパイラを使用するように Visual Studio 2013 を明示的に設定できますか? またはmsbuildスクリプト?

4

5 に答える 5

10

Visual Studio 2013 はどの C# コンパイラを使用しますか? 新しい Roslyn コンパイラを使用して Visual Studio 2015 をインストールすると、Visual Studio 2013 のインストールに影響しますか?

Visual Studio 2015 Preview をインストールしても、Visual Studio 2013 のインストールには影響しません。また、Windows ディレクトリ内の .NET Framework インストール フォルダーにある古い C# および VB コンパイラは置き換えられません。代わりに、Visual Studio 2015 Preview は、\MSBuild\14.0 の下の 32 ビット Program Files フォルダーにインストールされ、新しい Roslyn コンパイラーとコード分析ライブラリーを含む、Microsoft Build Tools の次のバージョンである MSBuild 14.0 のプレビューを使用および組み込みます。 .

C++ の場合、実質的な変更はありません。また、コンパイラは特定の Visual Studio インストールの \VC\bin サブフォルダーに存在するため、相互に影響を与えることはありません。

古いコンパイラを使用するように Visual Studio 2013 を明示的に設定できますか? またはmsbuildスクリプト?

Visual Studio 2013 は古いコンパイラしか使用できないため、不要になった Roslyn CTP 拡張機能をインストールして有効にしない限り、これは必要ありません。

于 2014-11-25T13:41:38.790 に答える
8

No. Visual Studio 2015 をインストールしても、VS 2013 で使用されるコンパイラは変更されません。コマンド ラインで、対応するmsbuild.exe

テストの失敗は、コンパイラの変更ではなく、.NET Framework 4.6 が原因でした。

https://github.com/Microsoft/dotnet/blob/master/docs/testing-with-ryujit.mdごとに「use legacy JIT」環境COMPLUS_useLegacyJit変数を設定することで問題を修正しました

于 2014-12-03T14:17:01.417 に答える
2

おそらく、VS 2015 は VS 2013 で使用されるコンパイラには影響しませんが、Roslyn には確実に影響します (VS 2015 をインストールすると、古い VS2015 より前の Roslyn コードが動作しなくなる可能性があります)。私にとっては、ConfigR スクリプトで匿名型をコンパイルする際に問題が発生しました。

于 2015-05-06T10:28:09.617 に答える
0

VS Professional 2015 Release を VS professional 2012 と並べてインストールすることで、この問題に直面しました。VS 2012/.net 4.0 で作成した MVC 3 プロジェクトを今開くことができません。VS 2015/.Net 4.0 でのみ開くことができます。

于 2015-07-28T17:10:57.067 に答える