
前提
昔から使用している、.net 3.5を使用したVBのプログラムを新しく導入したPC(Windows10 x64)にインストールしたところ、正常に動作しないことがわかり困っています。これまでWindows7やWindows10で動作していたプログラムです。
- .NET Framework 3.5はコントロールパネル→プログラムの機能→Windowsの機能の有効かまたは無効化で「.NET Framework 3.5(.NET2.0および3.0を含む)」のチェックボックスをONにしてインストールしました。
- 私が確認したPCは1台だけですが、新規導入した同じ機種で症状が出ているときいています。Windows10のバージョンはすべて同じで、同じ方法で.NETはインストールしています。
実現したいこと
調べたところ、WebRequest.Create()を呼び出したっきり、返ってこない(フリーズしている)ことがわかりました。
どうすれば正常に動作させられるのか、わかる方がいらっしゃいましたら、教えてください。
発生している問題・エラーメッセージ
フリーズしてしまうのでエラーメッセージはありません。
正常に動作しているPCのWindows10のバージョン: 1909(OSビルド18363.1440)
正常に動作しないPCのWindows10のバージョン: 21H2(OSビルド19044.1826)
該当のソースコード
サンプルを作成し、同じ現象が発生することを確認しました。
VB.NET
1 Sub Main() 2 Console.WriteLine("WebRequest.Create(): begin") 3 Dim req As HttpWebRequest = CType(WebRequest.Create("http://www.google.com"), HttpWebRequest) 4 Console.WriteLine("WebRequest.Create(): end") 5 Dim res As HttpWebResponse = req.GetResponse() 6 Using s As Stream = res.GetResponseStream() 7 Using sr As StreamReader = New StreamReader(s) 8 Console.WriteLine(sr.ReadToEnd()) 9 End Using 10 End Using 11 End Sub
試したこと
- .netのバージョンを4.8に変えてビルドしたところ、動作するのですが、問題のプログラムではほかに.net 3.5に依存したDLLを使用しているため、選択肢にならない感じです。
- .netのソースがあればフリーズする原因が突き止められるのではないかと思いましたが、見つかりません。(オープンソースになったんじゃありませんでしたっけ?)
- 問題のPCでデバッグしようとするとHRESULT=0x80070002がでてデバッグできないので、ふと思いついて管理者権限で実行すると正常に動作することがわかりました。しかし、管理者権限で実行しないとデバッグできず、管理者権限で実行するとフリーズしないので問題の個所を特定できず、頭を抱えています。
補足情報(FW/ツールのバージョンなど)
Visual Studio 2019を使用しています。




回答2件
あなたの回答
tips
プレビュー