C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

最適 .NET Framework バージョンは?(特殊例)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■100057 / inTopicNo.1)  最適 .NET Framework バージョンは?(特殊例)
  
□投稿者/ 774RR (885回)-(2022/07/01(Fri) 09:54:42)

分類:[.NET 全般] 

実験室の超絶古いスタンドアローン PC でも動く測定ソフトを作ってくれと依頼が来ました

上司案件:
・できれば XP SP3 (当然 x86 / 512MRAM) のノート PC でも動くといいな
 サポート切れ直前までは windows update していたが、そのあとはスタンドアローン
・できれば Win10 / Win11 x64 (x64 / 4GRAM) でも動くといいな
・確認してはいないが Vista / 8 / 8.1 の測定用 PC はないと思われる
・たぶん 7 の測定用 PC はある(いかんせん他部署なので把握してない)ので 7 でも動かしたい

俺案件:
・いまさら MFC でもないので .NET Framework (C#) がいいな
・ WinForms ならいくつもソフト作ったので経験値はそれなりにあるが
・今日一日で作るには WPF の経験値は足らない
・VS2019 はメインマシンにある
・VS2008 は押し入れから引っ張り出せばサブマシンにある
・ async / await は使えなくていい(ワーカースレッドは手書できます)

という条件で .NET Framework はいくつにすればいいでしょうか?

XP の正式サポート最終版は .NET Framework 4.0 でしたっけ?
VS2019 のミニマムも 4.0 / 4.0CP みたいですね

VS2019 入手前に作った同様の測定ソフトは VS2008 .NET 2.0 で WinForms にして
標準の app.config 中に自動で生成される supportedRuntime version="v2.0.50727" に
"v4.0" をさらに手書き追記して見事動いたのですが
VS2019 ではこの手は使えなさそうです

提案も富む(とりあえず 4.5 で作成スタート中)

引用返信 編集キー/
■100059 / inTopicNo.2)  Re[1]: 最適 .NET Framework バージョンは?(特殊例)
□投稿者/ 大谷刑部 (203回)-(2022/07/01(Fri) 10:17:06)
No100057 (774RR さん) に返信
> 実験室の超絶古いスタンドアローン PC でも動く測定ソフトを作ってくれと依頼が来ました
>
> 上司案件:
> ・できれば XP SP3 (当然 x86 / 512MRAM) のノート PC でも動くといいな
>  サポート切れ直前までは windows update していたが、そのあとはスタンドアローン

そりゃさすがに無茶かと。

> ・できれば Win10 / Win11 x64 (x64 / 4GRAM) でも動くといいな

そうしたいんなら、尚更両立は難しい気が。

> ・確認してはいないが Vista / 8 / 8.1 の測定用 PC はないと思われる
> ・たぶん 7 の測定用 PC はある(いかんせん他部署なので把握してない)ので 7 でも動かしたい

7も64bitなら、10との共存は十分可能でしょうね。32ならWinAPI系使うなら不安あり

> 俺案件:
> ・いまさら MFC でもないので .NET Framework (C#) がいいな
> ・ WinForms ならいくつもソフト作ったので経験値はそれなりにあるが
> ・今日一日で作るには WPF の経験値は足らない
> ・VS2019 はメインマシンにある
> ・VS2008 は押し入れから引っ張り出せばサブマシンにある
> ・ async / await は使えなくていい(ワーカースレッドは手書できます)
>
> という条件で .NET Framework はいくつにすればいいでしょうか?

なら、4.x系でWinFormsが無難なんでは?
「.NET Framework」と書いてる時点でそのおつもりはないと思いますが、5.0以降には絶対しない方がいいです。
WinFormsに関してはバグだらけですから。

> 提案も富む(とりあえず 4.5 で作成スタート中)

一応、4.8までは上げて大丈夫かと。少なくとも7(32bit)で4.5よりバグが多いとかすこぶる重くなるとかはないので。

引用返信 編集キー/
■100061 / inTopicNo.3)  Re[1]: 最適 .NET Framework バージョンは?(特殊例)
□投稿者/ KOZ (245回)-(2022/07/01(Fri) 10:35:40)
No100057 (774RR さん) に返信

ちょっと前にいった近所の歯医者が患者のカルテを XP で管理してました。(^_^;)

私だったら 3.5 SP1 で作ると思います。サポート期間が 4.8 並みに長いですから。

>VS2019 のミニマムも 4.0 / 4.0CP みたいですね
OS の Framework 3.5 を有効にしたら VS2019 でも作成できます。

引用返信 編集キー/
■100063 / inTopicNo.4)  Re[2]: 最適 .NET Framework バージョンは?(特殊例)
□投稿者/ とっちゃん (763回)-(2022/07/01(Fri) 10:41:12)
端的には、XP-SP3をどうするか?ですかね。


で、XPを対象とする場合の .NET Framework のバージョンですが、.NET Framework 4.5 から XP はサポート対象外です。
なので、4.0 まで。
あとは配布の問題(スタンドアロンなので実行時DL版は使えないのと、ClientProfileでアプリを動かせるか?)。

それと、Win10/11 は、4.5 以上が乗っかっているので4.0からのブレイクチェンジをどこまでさばけるか?
もあると思います。
もうほとんど資料もなく(最近サポート終了するとネットから消しちゃうので)かなりきついと思いますが…


検索したら出てきたのでおまけで貼っときますw

■.NET Framework 4.5 and Windows XP
https://devblogs.microsoft.com/dotnet/p/dotnet45xp/

ついでなのでダウンロードセンターの 4.5 のリンク。動作対象書いてあるのでちょうどよいかとw
■Microsoft .NET Framework 4.5(1Mないので、実行時DL版)
https://www.microsoft.com/ja-jp/download/details.aspx?id=30653

引用返信 編集キー/
■100064 / inTopicNo.5)  Re[1]: 最適 .NET Framework バージョンは?(特殊例)
□投稿者/ radian (60回)-(2022/07/01(Fri) 10:52:42)
No100057 (774RR さん) に返信
> 実験室の超絶古いスタンドアローン PC でも動く測定ソフトを作ってくれと依頼が来ました
>
> 上司案件:
> ・できれば XP SP3 (当然 x86 / 512MRAM) のノート PC でも動くといいな
>  サポート切れ直前までは windows update していたが、そのあとはスタンドアローン
> ・できれば Win10 / Win11 x64 (x64 / 4GRAM) でも動くといいな
> ・確認してはいないが Vista / 8 / 8.1 の測定用 PC はないと思われる
> ・たぶん 7 の測定用 PC はある(いかんせん他部署なので把握してない)ので 7 でも動かしたい

XP自体がサポート切れてるので、フレームワークのサポート期限切れを考慮しない前提であれば、
4.0までが限界かなと思います。それ以上は、インストーラで弾かれた気が。
フレームワークだけでも考慮するなら3.5。

Framework4スタンドアロン
https://www.microsoft.com/ja-jp/download/details.aspx?id=17718
引用返信 編集キー/
■100065 / inTopicNo.6)  Re[2]: 最適 .NET Framework バージョンは?(特殊例)
□投稿者/ 774RR (886回)-(2022/07/01(Fri) 10:56:37)
まとレスで

.NET も Core とか無文字とか出たけど、今すぐに移行するのは怖すぎというか無理
(人間側が追い付けない)なので .NET Framework までしか考えていません

VS2019 でも 3.5 使えるのか・・・今この瞬間に有効化するのは時間的にきつそう
(でもいいことを聞いた。時間ができたら試してみよう)

いまは .NET とあまり関係ないところで GUI 作成中( GUI 面倒くさい・・・)

# まあ「動けばうれしい」という程度だったので XP ガン無視するのはありかな、と

引用返信 編集キー/
■100066 / inTopicNo.7)  Re[1]: 最適 .NET Framework バージョンは?(特殊例)
□投稿者/ 魔界の仮面弁士 (3423回)-(2022/07/01(Fri) 11:47:00)
No100057 (774RR さん) に返信
> という条件で .NET Framework はいくつにすればいいでしょうか?
自分の場合、現行機向けなら 4.8 、旧環境も含めるなら 3.5 を使うことが多いです。
3.5 の開発には Visual Studio 2010〜2022 を使えます。

1.0〜3.0 および 4〜4.6.1 のサポートは終了していますが、
3.5 のサポート期限は 2029/01/09 まで続きます。


> XP の正式サポート最終版は .NET Framework 4.0 でしたっけ?
1.0 Service Pack 3
1.1 Service Pack 1
2.0 Service Pack 2
3.0 Service Pack 2
3.5 Service Pack 1
4 Update 3

までですね。XP SP3 なら既定で 3.0 がインストールが有効化されていた記憶。


> VS2019 のミニマムも 4.0 / 4.0CP みたいですね
2.0 もいけます!


.NET バージョン側からみた 対応状況を載せておきます。

クライアント OS 編

1.0 … NT4, 98, 98SE, ME, 2000, XP
1.1 … NT4, 98, 98SE, ME, 2000, XP, Vista
2.0 … 98, 98SE, ME, 2000, XP, Vista, 7, 8, 8.1, 10 (1507〜)
3.0 … XP, Vista, 7, 8, 8.1, 10 (1507〜)
3.5 … XP, Vista, 7, 8, 8.1, 10 (1507〜)
4.0 … XP, Vista, 7
4.5 … Vista, 7, 8
4.5.1… Vista, 7, 8, 8.1
4.5.2… Vista, 7, 8, 8.1
4.6 … Vista, 7, 8, 8.1, 10 (1507 のみ)
4.6.1… 7, 8, 8.1, 10 (1507〜1511)
4.6.2… 7, 8.1, 10 (1507〜1607)
4.7 … 7, 8.1, 10 (1607〜1703)
4.7.1… 7, 8.1, 10 (1607〜1709)
4.7.2… 7, 8.1, 10 (1607〜1809)
4.8 … 7, 8.1, 10 (1607〜), 11


サーバー OS 編

1.0 … NT4, 2000, 2003
1.1 … NT4, 2000, 2003, 2003R2, 2008
2.0 … 2000, 2003, 2003R2, 2008, 2008R2, 2012, 2012R2, 2016, 2019, 2022
3.0 … 2003, 2003R2, 2008, 2008R2, 2012, 2012R2, 2016, 2019, 2022
3.5 … 2003, 2003R2, 2008, 2008R2, 2012, 2012R2, 2016, 2019, 2022
4.0 … 2003, 2003R2, 2008, 2008R2
4.5 … 2008, 2008R2, 2012
4.5.1… 2008, 2008R2, 2012, 2012R2
4.5.2… 2008, 2008R2, 2012, 2012R2
4.6 … 2008, 2008R2, 2012, 2012R2
4.6.1… 2008R2, 2012, 2012R2
4.6.2… 2008R2, 2012, 2012R2, 2016
4.7 … 2008R2, 2012, 2012R2, 2016
4.7.1… 2008R2, 2012, 2012R2, 2016
4.7.2… 2008R2, 2012, 2012R2, 2016, 2019
4.8 … 2008R2, 2012, 2012R2, 2016, 2019, 2022


Visual Studio 対応状況

1.0 … .NET(2002)
1.1 … .NET 2003
2.0 … 2005 / 2008 / 2010 / 2012 / 2013 / 2015 / 2017 / 2019 / 2022
3.0 … 2008 / 2010 / 2012 / 2013 / 2015 / 2017 / 2019 / 2022
3.5 … 2008 / 2010 / 2012 / 2013 / 2015 / 2017 / 2019 / 2022
4.0 … 2010 / 2012 / 2013 / 2015 / 2017 / 2019 / 2022
4.5 … 2012 / 2013 / 2015 / 2017 / 2019 / 2022
4.5.1… 2012 / 2013 / 2015 / 2017 / 2019 / 2022
4.5.2… 2012 / 2013 / 2015 / 2017 / 2019 / 2022
4.6 … 2012 / 2013 / 2015 / 2017 / 2019 / 2022
4.6.1… 2012 / 2013 / 2015 / 2017 / 2019 / 2022
4.6.2… 2012 / 2013 / 2015 / 2017 / 2019 / 2022
4.7 … 2015 / 2017 / 2019 / 2022
4.7.1… 2015 / 2017 / 2019 / 2022
4.7.2… 2015 / 2017 / 2019 / 2022
4.8 … 2017 / 2019 / 2022

引用返信 編集キー/
■100067 / inTopicNo.8)  Re[2]: 最適 .NET Framework バージョンは?(特殊例)
□投稿者/ 774RR (887回)-(2022/07/01(Fri) 11:56:13)
おおおっ! この手のまとめた資料の最新ってとても(上司の依頼を却下する)武器になります。
ネットを探すとまとめページは結構見つかるのですが*その時の最新まとめ*だったりするので
今この時点でのまとめってとても助かります。

とりあえず GUI はだいたいできた・・・つもり
測定スレッドは昔のソフトのコピペ終了で、今回の機器に対応して書き換え開始中

引用返信 編集キー/
■100108 / inTopicNo.9)  Re[2]: 最適 .NET Framework バージョンは?(特殊例)
□投稿者/ 魔界の仮面弁士 (3427回)-(2022/07/04(Mon) 09:14:18)
2022/07/04(Mon) 11:27:31 編集(投稿者)

No100066 (魔界の仮面弁士) に追記
> .NET バージョン側からみた 対応状況を載せておきます。
Windows 95 が漏れてたので追記。
今回の要件的には無視できる範囲なのだけれども。


> クライアント OS 編
> 1.0 … NT4, 98, 98SE, ME, 2000, XP

1.0 Beta 1 … NT4, 95, 98, 98SE, ME, 2000
1.0 Beta 2 … NT4, 98, 98SE, ME, 2000
1.0 … NT4, 98, 98SE, ME, 2000, XP

※Windows 95 はアプリケーション実行環境としてのみ。
※.NET SDK の開発ツールはサポート外。
https://atmarkit.itmedia.co.jp/fdotnet/special/dotnet_sdk/dotnetsdk03.html

※Windows 95 に.NET Framework 再頒布パッケージをインストールすることはできない。
https://docs.microsoft.com/ja-jp/previous-versions/msdn/architecture-center/cc465481%28v=msdn.10%29
引用返信 編集キー/
■100153 / inTopicNo.10)  Re[3]: 最適 .NET Framework バージョンは?(特殊例)
□投稿者/ 774RR (889回)-(2022/07/07(Thu) 13:37:14)
結局リアル会議だの Teams だの、ごめんちょっと手伝ってイベント等いろいろ発生したせいで一日でできなかった
(分量的には金曜午後にはできるはずという見込みであった)昨日納品して終了っス。

xp x86 上では
.NET Framework 4.5 / 4 CP Debug 設定だと「有効な Win32 アプリケーションではありません」で起動しない(仕様通り)
.NET Framework 4 CP Release 設定だと「問題が発生したため・・・」エラー送信画面になったっス
ということは何か Win32API で誤っている? (ModName:kernel32.dll fDebug:0 Offset:00012afb)
以前に vs2008 で作ったときと pinvoke は一行もいじっていないので別の原因?

とりあえずどうしても XP で動かさなきゃって話はなくなったのでこれでよいということになったのであります。
暇ができたら 3.5 を有効化したり VS2008 でプロジェクト作り直したりしてみよう。
お騒がせな割に尻つぼみな結果で申し訳ないっス。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ