前提
昔から使用している、.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を使用しています。
↓ チェックしてください
Windows 11、Windows 10、Windows 8.1、および Windows 8 に .NET Framework 3.5 をインストールする
https://docs.microsoft.com/ja-jp/dotnet/framework/install/dotnet-35-windows
.net frameworkはコントロールパネルのプログラムと機能→Windowsの機能の有効化または無効化で「.NET Framework 3.5(.NET2.0および3.0を含む)」にチェックを入れてインストールしました。
それは「正常に動作しないPCのWindows10のバージョン: 21H2(OSビルド19044.1826)」ですべて設定済みで、それでも問題が出るということですか?
「PCのWindows10のバージョン: 21H2(OSビルド19044.1826)」ならどの PC でも提示されたコードで 100% 再現性があるのでしょうか?
私が確認したPCは1台だけですが、新規導入した同じ機種で症状が出ています。Windows10のバージョンはすべて同じで、同じ方法で.NETはインストールしています。
Framework 3.5 を有効化した状態なら、4.8 の exe から 3.5 の dll を呼び出せるはずです。
ソースはここからダウンロードできますが、3.5 のは無いですね。
https://referencesource.microsoft.com/download.html
「Telerik JustDecompile」でデコンパイルしてみるとか
https://www.telerik.com/products/decompiler.aspx
dnSpy を使ってみるとか
「凄すぎて大草原不可避な.NET デコンパイラdnSpyを使ってみる」
https://qiita.com/Tokeiya/items/54fbf30cb21c77c05c41
情報ありがとうございます。試してみます。
いつまでも放置しておかないで、状況を書くとかクローズするとかしてください。
回答2件
あなたの回答
tips
プレビュー

