まずは起きた事象から
自作してたtwitter連携のツールがエラーを吐いた
出だしたのは2019/7/30からで、C#のツールが吐いたのはSystem.Net.WebException
メッセージ:接続が切断されました: 送信時に、予期しないエラーが発生しました。
メッセージとかでググって見るとこんなページがちらほら見つかる→こちら
ただ、Exceptionの内容のとおり、エラー吐いてるのは、CoreTweetのライブラリで、自作してる箇所じゃない。
ということで、以下対応した手順のメモ
①GitHubから、Coretweetのソース・プロジェクトをダウンロード (右上のClone and Downloadボタン)
②VisualStudio2017でプロジェクトを開く (C#6.0を読み込む必要があるため、古いのではダメっぽい)
③そのままビルドすると、RestApis.csというファイルが無くてエラーになるので、RestApisGenプロジェクトを右クリック→[Set as StartUp Project]をクリックして、実行すればRestApis.csができる
※ここでコンパイルが通るようになる
④CoreTweet.Shared-Internaiの中にあるRequest.csを開いて、以下の赤字部分を追加
…
internal static HttpWebResponse HttpPost(Uri url, string contentType, byte[] content, string authorizationHeader, ConnectionOptions options)
{
if (options == null) options = ConnectionOptions.Default;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
var req = (HttpWebRequest)WebRequest.Create(url);
…
⑤リビルドすると、CoreTweet.net35と.net40では、Tls11とTls12が見つからずエラーになるけど、.net45はコンパイルが通るはず。
⑥出てきたCoretweet.dllを差し替えて対応完了
感想
付け焼刃の知識しかないから、C#6.0をVS2013がサポートしてないのを知らなかったりで、一つ一つの原因究明に時間がかかってしまった。
ただ、自力で対応しきれたのは良かったかなと。。。
その他
世間でも影響出てたみたいですね。。。yahooニュース