1

多くのソリューションを含む大規模な WPF アプリケーションがあり、各ソリューションには多くのプロジェクトがあります。IronRuby (v1.0.4) スクリプトを使用して、すべてのプロジェクトを順番にコンパイルします。

問題の説明:
IronRuby スクリプトは、「nameof」演算子を使用するプロジェクトのコンパイルに失敗し、次のエラーが表示されます。

The name 'nameof' does not exist in the current context
  • Visual Studio 2017 および 2019 を搭載したマシンでエラーが発生します。
  • Visual Studio 2015 を搭載したマシンで正常に動作します。
  • VS 20XX でプロジェクトを個別にコンパイルすると、プロジェクトは正しくコンパイルされますが、IR スクリプトを使用する目的が無効になります。

どこでも検索しましたが、Visual Studio の上位バージョンで機能しない理由が見つかりませんでした。

ソフトウェア スタック:
1. IronRuby バージョン: 1.0.4
2. ネット バージョン: 4.5.2 以降
3. 動作する VS バージョン: 2015 update 3
3.(a) MSBuild ツール バージョン: 14.0

C:\Program Files (x86)\MSBuild\14.0\Bin>MSBuild.exe -version Microsoft (R) Build Engine バージョン 14.0.27522.0 Copyright (C) Microsoft Corporation. 全著作権所有。

14.0.27522.0

3.(b) コマンド プロンプトからプロジェクトをコンパイルする際のメッセージ:

Microsoft (R) Build Engine version 14.0.27522.0
Copyright (C) Microsoft Corporation. All rights reserved.
  1. 非稼働 VS バージョン: 2019 (v16.2.3)
    4.(a) MSBuild ツール バージョン: 16.0

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin>MSBuild.exe -version Microsoft (R) Build Engine バージョン 16.2.37902+b5aaefc9f for .NET Framework Copyright (C) Microsoft Corporation . 全著作権所有。

16.2.37902.0

4.(b) コマンド プロンプトからプロジェクトをコンパイルする際のメッセージ:

Microsoft (R) Build Engine バージョン 4.7.3190.0
[Microsoft .NET Framework、バージョン 4.0.30319.42000] Copyright (C) Microsoft
Corporation. 全著作権所有。

  1. 両方のマシンの MSBuild バージョンでは、同じ結果が得られます。
C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild.exe -version
Microsoft (R) Build Engine version 4.7.3190.0
[Microsoft .NET Framework, version 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.

4.7.3190.0

3(a)、3(b) を 4(a)、4(b) と比較すると、より高い VS バージョンの wrt ビルド エンジンに切断があるように見えますが、実行を妨げている問題を解決できません。より高いVSバージョンに。

どんな助けでも大歓迎です。

ありがとう、
RDV

4

2 に答える 2