ご無沙汰です、
最近 Twitter 以外のいろいろな新興 SNS が次々と立ち上がるので、新しい SNS が流行るたびに .NET 向けのクライアント ライブラリを書いてる日々でございます。

さて、掲題の件について。
私が小一時間ほど引っかかったので同じ過ちを犯した人向けの備忘録です。

【事象】
* .NET Standard でとある SNS 向けのクライアント ライブラリを書いていた
* 新機能の実装を終えて Windows 上でテストして、NuGet へパブリッシュ
* このライブラリを利用している自作の Android アプリ側で NuGet パッケージの更新を掛ける
* Android で実行するとエラーに…… (Windows では動いていたのに)
* 例外は NullReferenceException

【原因】
デバッグ ロジックの外し忘れ

クソしょうもない内容です。
クライアント ライブラリ側を開発しているときに、サーバからのレスポンスの生データをファイルに保存させていました。

#if false
                using (var fs = File.OpenWrite(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + "/debug_" + DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss-fff") + ".json"))
                using (var sw = new StreamWriter(fs))
                    sw.Write(hresContent);
#endif

#if を false にしないといけないのに、true のままビルドしちゃったんですよね。はい。

System.Reflection.GetEntryAssembly().Location ← これが Android では Null

Windows では同じコードが動いていたのに、Android ではぬるぽ。
原因の一例としてこういうのがある、という備忘録でした。

以上。