同じプロジェクト、ソリューションをVisualStudio2013で開くとコンパイルは成功する。
shift-jisの.csファイルに"文字列"、識別子に日本語があるとコンパイルエラーになる。
CS1056 予期しない文字 '文字' です。
CS1009 認識できないエスケープ シーケンスです。
ほか
ファイルエンコーディングをutf-8にすれば解決する。
ファイルエンコーディングの変更方法の一例
Visual Studioのエディタで対象のファイルを開く
メニュー「ファイル」ー「保存オプションの詳細設定」でutf-8を選択して保存すれば変換される。
.NET2のときに作られたC#のライブラリプロジェクトを現在はVisualStudio2013を使って.NET3.5のプロジェクトとしてビルドしていた。
そのプロジェクトをVisualStudio2015で開いてビルドしたらCS1009などのコンパイルエラーが発生した。エラー箇所はどこも日本語が書かれていたが、日本語が書かれていてもエラーになっていないファイルもあった。このライブラリプロジェクトの.csファイルはshift-jisのものとutf-8のものが混在しているのは知っていた。エラーがあるファイルのエンコーディングを確認したらshift-jisだった。utf-8に変換したらコンパイルエラーが発生しなくなった。
それと、識別子に"・"、"・"を使っている場合はファイルがutf-8であってもVisualStudio2015が使用するcscではコンパイルエラーになる。
参考 [雑記] C# ソースコードと Unicode - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
メニュー「オプション」
プロジェクトおよびソリューション - ビルド/実行
"MSBuildプロジェクトビルドの出力の詳細"を"診断"にして確認した。
VisualStudio2015
C:\Program Files (x86)\MSBuild\14.0\bin\csc.exe
Microsoft (R) Visual C# Compiler バージョン 1.0.0.50618
VisualStudio2013
C:\Program Files (x86)\MSBuild\12.0\bin\Csc.exe
Microsoft (R) Visual C# Compiler version 12.0.40629.0
for C# 5
パラメーターは2015に”ruleset”が追加されている以外は同じ。