以下の内容はhttps://kkamegawa.hatenablog.jp/entry/2018/11/20/065801より取得しました。


Azure DevOpsでのCIとファイルエンコーディング

Azure Pipelinesでビルドすると、こんなエラーが出てしまいました。

f:id:kkamegawa:20181120063311p:plain

ローカルのVisual Studioでは問題なくビルドできます。このエラーはここで出ています。

testStep.Step = new string[] {"ブラウザ起動", "ログイン", "About表示", "終了" };

原因は「表」の字ですね。「表」には\と同じコードである0x5cを含んでいるので、エンコーディングエラーが発生しています。昔からCコンパイラとか使っている人にはおなじみです。

何故ローカルで出なくて、Azure Pipelinesで起きるかといえば、PipelinesのMicrosoft Hosted Agentは英語版OSで動いているため、Visual Studio 2017の標準エンコーディングであるSHIFT-JISのファイルが解釈できないからです。ローカルでは日本語OSなので、SHIFT-JISで問題がないと。

回避するにはソースファイルをUTF-8で保存しましょう。ファイル保存時にやってもいいですが、こういう拡張機能を使うと楽です。

marketplace.visualstudio.com

ロケールに依存するようなテストも発生します。こちらは逆で、USロケールに依存するようなテストがローカルの日本語OSではFailになるということが起きえます。今は見てないですが、昔のCoreFXのUnit Testにもそういうところがありました。

Azure Pipelinesに限らないと思いますが、ベースのOSでこういうところに引っかかることがあるので、気を付けてください。




以上の内容はhttps://kkamegawa.hatenablog.jp/entry/2018/11/20/065801より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14