【トラブル】【ASP.NET MVC】 Bundle機能を使った最小化(Minify)が失敗する際のトラブルシューティング

■ はじめに

 * ASP.NET MVCにおいて、Bundle機能を使って、外部CSS/JavaScript を最小化(Minify)する際に、
   外部CSS/JavaScriptのフォーマットに不備があった場合、警告やエラーにより、
   以下の「エラー内容」が出力され、最小化できない時があるので、その際のトラブルシューティングをメモ。

エラー内容

最小化できませんでした。
最小化されていないコンテンツを返します。

【1】エラー「run-time error CSS1062」が出力される

 * 以下のエラー内容が表示され、最小化できない。

エラー内容

(xxxx,xx): run-time error CSS1062: Expected semicolon or closing curly-brace, found ':'

原因

* 「;」がなかった
.sample-css {
font-size: 20px;
color: blue;
height: 100px /* 「;」がなかった */
width: 100px;
}

解決案

* 「;」を付加する
.sample-css {
font-size: 20px;
color: blue;
height: 100px; /* 「;」を付加 */
width: 100px;
}

【2】警告「run-time error CSS1062」が出力される

 * 以下の警告内容が表示される。なお、警告でも容赦なく、最小化できない。
 * 以下のサイトだと「識別子または文字列が必要です。」とあり、
  「"プロパティ : 値のペア"の形式で記述し、コンマ区切りのリストにして、全体をかっこで囲んで指定します。」
   とあるが、JSONの文法としては問題なさそう。
https://msdn.microsoft.com/library/0bkysafx.aspx

警告内容

(xxxx,xx): run-time warning JS1028: Expected identifier or string: class

原因

* 予約語「class」を使用していた
{ class : 'xxxx'}

解決案

* classを「"」or「'」で囲む
{ "class" : 'xxxx'}

参考文献

http://stackoverflow.com/questions/2149762/possible-cases-for-javascript-error-expected-identifier-string-or-number