NuGetのパッケージの機能に『ファイル変換機能(Source Code Transformations)*1』という、「ソースコードそのものを、あらかじめ設定したプレースホルダを置換して配置する」機能があります(詳細は公式ドキュメントのこのあたりを参照)。
しかしながら、『ファイルに付いていた筈のBOMが、取込み先のプロジェクトでは外れてしまっている』ことに気が付きました。
通常、Visual Studioで扱われるファイルはBOM(Byte Order Mark)付のutf-8となっています。utf-8に一般的にはBOMは合ってもなくてもかまいませんし、実はVS上でも多くの場合は問題なさそうです。
しかし、たまに問題が出る場合があります。例えば日本語含んだaspxファイルで文字化けが起こります(今回もこれで気が付きました)。
とりあえず、BOMを任意に付与できるテキストエディタでBOMだけ付与すれば問題はありませんが、NuGet側で対応してもらえると嬉しいですね…。
#NuGetのソースをちらっと見たところ、該当ファイルをstremで開いて置換を行い保存してるようで、おそらくですがその際にBOMが考慮されていないような感じ…に見えました(適当
*1:公式な(?)日本語訳がわからないので、とりあえず勝手に訳してこう書いておきます。