【VS2017】MFCアプリのビルドエラー "RC2135 file not found:" の対処

Visual Studio 2017でダイアログベースのMFCアプリを新規作成し、ダイアログの編集を行うと、以下の様なエラーが発生する場合があります。

>エラー RC2135 file not found: 17f:id:kuranabe:20180407103515p:plain

 >エラー RC2146 missing comma in LANGUAGE statementf:id:kuranabe:20180407105028p:plain

  

これはリソースファイル内の一部項目が、ダイアログ編集後に日本語に置き換わる事が原因と考えられます。

 ○ダイアログ編集前の初期状態(ビルドエラーなし)

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対応中とのこと。

VS2017で日本語環境のMFCダイアログベースのプロジェクト作成をした場合にダイアログを編集するとビルドでエラーが起こる->If you create a MFC dialog-based project in Japanese environment with VS2017, editing the dialog will cause errors in the build - Developer Community


○対処法

リソースファイル中の「言語 17、1」や「LANGUAGE 17、1」となっている個所を
「LANGUAGE 17, 1」に変更してリビルドする事で解消します。

 恒久対策版のVS2017を早くリリースして欲しい所ですね。