0

私のコードには、.net フレームワーク 2.0 で正常に動作する次の宣言があります。最近、プロジェクトをフレームワーク 4.0 にアップグレードしたところ、次のようなビルド エラーが発生しました。

「埋め込みステートメントを宣言にすることはできません」

ここで何が間違っているのですか?

const int sNoPrompt = 0x1;
const int sUseFileName = 0x2;
const Int32 sEmbedFonts = 0x10;
const int MultilingualSupport = 0x80;
4

3 に答える 3

0

以前は正常に動作していた次のコードを使用していました。

if (output == "Success")
   terminate();

Configuration config = 
      ConfigurationManager.OpenExeConfiguration(System.Windows.Forms.Application.ExecutablePath);
var setting = config.AppSettings.Settings["PATH"];

要件の変更により、関数呼び出し terminate() をコメントアウトしました

if (output == "Success")
   //terminate();

Configuration config = 
      ConfigurationManager.OpenExeConfiguration(System.Windows.Forms.Application.ExecutablePath);
var setting = config.AppSettings.Settings["PATH"];

これにより、構成変数の宣言行でエラーEmbedded statement cannot be a declaration or labeled statement がスローされます。また、別のエラーがスローされます Use of unassigned local variable 'config' in the setting variable definition line.

terminate() はコメント化されているため、次の単一ステートメントを if 条件ブロックとして取得しようとします。

解決策は、if 条件ブロックを完全にコメントアウトすることです。

//if (output == "Success")
   //terminate();

Configuration config = 
      ConfigurationManager.OpenExeConfiguration(System.Windows.Forms.Application.ExecutablePath);
var setting = config.AppSettings.Settings["PATH"];

別の解決策は、要件に応じて中括弧を配置することです。

if (output == "Success")
{
   //terminate();

    Configuration config = 
       ConfigurationManager.OpenExeConfiguration(System.Windows.Forms.Application.ExecutablePath);
    var setting = config.AppSettings.Settings["PATH"];
}
于 2014-04-22T10:15:18.220 に答える