【VS2017】MFCアプリのビルドエラー "RC2135 file not found:" の対処
Visual Studio 2017でダイアログベースのMFCアプリを新規作成し、ダイアログの編集を行うと、以下の様なエラーが発生する場合があります。
>エラー RC2135 file not found: 17
>エラー RC2146 missing comma in LANGUAGE statement
これはリソースファイル内の一部項目が、ダイアログ編集後に日本語に置き換わる事が原因と考えられます。
○ダイアログ編集前の初期状態(ビルドエラーなし)
3 TEXTINCLUDE BEGIN … "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)\r\n" "LANGUAGE 17、1\r\n" // TEXTINCLUDE 3 リソースから生成されました。 … #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) LANGUAGE 17, 1
○ダイアログ編集後(ビルドエラー)
3 TEXTINCLUDE BEGIN … "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)\r\n" "LANGUAGE 17、1\r\n" // TEXTINCLUDE 3 リソースから生成されました。 … #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) LANGUAGE 17、1
↑「LANGUAGE 17, 1」が「LANGUAGE 17、1」となり、カンマが読点に置き換わっているのが解ります。
この現象はマイクロソフトも認識しており、2018/4/7時点でfix対応中とのこと。
○対処法
リソースファイル中の「言語 17、1」や「LANGUAGE 17、1」となっている個所を
「LANGUAGE 17, 1」に変更してリビルドする事で解消します。
恒久対策版のVS2017を早くリリースして欲しい所ですね。