次の方法で共有


Visual Studio 2022 : .NET 6 : Windwos Form アプリの開発:IDEのデータソースが開けない

質問

2022年2月26日土曜日 16:34

お世話になります。

.NET6 の入門のために勉強しています。 下記イメージのアプリを作成しましたがIDE(Visual Studio2022) でのデータソースが開けません。

またツールボックス に dataset などが表示されません。 .NetFramework4.8 では表示されますが・・・

これは仕様でしょうか。

データソースが開けないとドラッグ&ドロップで フォームデザインができません。 なにかnuget から入れないとだめなのでしょうか?

どなたかおわかりになる方がいましたらご回答願います。

尚、このデータは MS access 2003のサンプルデータ(Northwindow)をSQL Server2014 Developer にインポート

したものです。

テストアプリケーション実行画面

実行ソース

Imports WInFormTest2022
Imports WInFormTest2022.WInFormTest2022

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        Dim DS_NorthWindow As New DS_NOBU
        Dim dt得意先 As New DS_NOBU.得意先DataTable

        Dim tbADP As New DS_NOBUTableAdapters.得意先TableAdapter

        tbADP.Fill(dt得意先)

        With Me.DataGridView1
            .DataSource = dt得意先
            .Refresh()
        End With

    End Sub
End Class

データセット と ソリューション

データソースが有効にならない

すべての返信 (7)

2022年2月26日土曜日 22:11 ✅回答済み

以下の Microsoft のドキュメントの「注意」に書いてありますがサポートされてないそうです。

新しいデータ ソースの追加
/ja-jp/visualstudio/data-tools/add-new-data-sources?view=vs-2022


2022年2月27日日曜日 6:15 ✅回答済み

> 現在使用している環境は  サーバーは Windows2012 server ; SQL server 2012
> クライアント Windows10 pro : Visual Studio 2010(.netFrameWork 3.5x) となっています。

クライアントは現状の .NET 3.5 のままで当面よさそうな気がしますけど? 

どうしてもアップグレードしたいということなら方向的には .NET Framework 4.8 で、.NET 6.0 の方向に進む理由はなさそうな気がします。

上に述べたように .NET6.0 で WinForms は茨の道ですし、ReportViewer が対応してない様子ですし、ライフサイクルも .NET Framework 4.8 より短いようです。

ライフサイクルに関する FAQ - .NET Framework
/ja-JP/lifecycle/faq/dotnet-framework

".NET Framework 3.5 SP1: Windows 10 Version 1809 および Windows Server 2019 以降は、.NET Framework 3.5 SP1 はスタンドアロン製品として定義され、オペレーティング システム (OS) のコンポーネントとしては定義されなくなりました。 製品として、.NET 3.5 SP1 は 5 年間のメインストリーム サポートと 5 年間の延長サポートを受けます。・・・"

".NET Framework 4.8: .NET 4.8 のサポートは、親の OS のライフサイクル ポリシーに従います。・・・"

.NET Framework Support Policy
https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-framework

".NET Framework 4.8 is the latest version of .NET Framework and will continue to be distributed with future releases of Windows. As long as it is installed on a supported version of Windows, .NET Framework 4.8 will continue to also be supported."

どの方向に進むべきかなどに関して情報が必要なら、別に新たにスレッドを立てて質問すれば、ライフサイクルなどに詳しい方がレスしてくれると思います。


2022年2月26日土曜日 23:29

回答ありがとうございました。

なお、この状態ですとDatagridviewの右上の▼ボタンを押すと。IDEの編集ができなくなりエラーかつ再起動されます。

なにやらDataBinding 関連を自動的に設定させようとするとエラーで落ちるみたいです。

サーバーエクスプローラで接続してデータベースからテーブルイメージを型付きDataSet に作成できるので tableadapter も

作成できます。 あとはソースコードで対処するしかないようです。

Datagriview などの列を自動的作成する方法を別な角度で模索するしかないですね。

例えば 一旦、Net Framework 4.8 でFormイメージを作成して 目的の.NET6 のFormデザイナーにコピペするとか・・・


2022年2月27日日曜日 0:23

Windows OS 上で動かす Windows Forms アプリを .NET 6.0 で作りたいという理由は何でしょう?

> 例えば 一旦、Net Framework 4.8 でFormイメージを作成して 目的の.NET6 のFormデザイナーにコピペするとか・・・

以前 VS2022 v17.0.2 ; .NET 6.0 で WinForms アプリを作ってみましたが、.NET Framework 4.8 で[データ ソース]ウィンドウからフォームにドラッグ&ドロップして作ったアプリのコードを移植すれば見かけ動くアプリは作れます。

具体例は以下の記事を見てください。

.NET 6.0 で Windows Forms アプリ作成
http://surferonwww.info/BlogEngine/post/2021/12/04/create-winforms-application-using-visual-studio-2022-net-6.aspx

一応 SQL Server データベースに対する CRUD 操作も可能でしたが、.NET Framework 4.8 で作ったものと同様なレベルで問題ないかは調べ切れてません。


2022年2月27日日曜日 5:03

SurferOnWww様 ご丁寧な、返信ありがとうございます。

またサンプルコードも参考になります。 多分、私が行った作業と同一です。

なぜこだわるのか? その理由は 2005年に作成した VB.NET2005 の販売管理ソフト、クラサバのデスクトップアプリ

を今まで使い続けてきたお客様からのご依;で、できることならこれからも使い続けて行きたいとの要望があります。

2005年当時は サーバーは Windows2003 server ; SQL server 2005

  クライアントは Windows XP Pro : Visual Studio 2005(.netFrameWork 2.xx )

そこから たびたび バージョンを上げ、

現在使用している環境は  サーバーは Windows2012 server ; SQL server 2012

   クライアント Windows10 pro : Visual Studio 2010(.netFrameWork 3.5x) となっています。

なぜ Visual Studio 2010(.netFrameWork 3.5x) なのかというと 2年前に、クライアントを 新しいPC環境

Windows7 PRO ==>  Windows10 pro にする際に Visual studio 2019 (.netFrameWork 4.xx) にしてみましたが

帳票のアドオンアプリ(Sap CrystalReport) がうまく動作しませんでした。対応する時間がなかった、また本来の目的とはずれるのでとりあえず動作環境は Windows7 PRO の環境と同一にしたためです。

ここから、作業見積もりをするためにどこまで何をするのかを決めなければいけません。

2022年においてVisual Studio 2019 Pro (.NetFrameWork 4.72) では 帳票のアドオンアプリ(Sap CrystalReport) のサービスパックが提供されており、正常に動作および帳票の編集操作ができることを確認しました。

Microsoft は .NET VB のコードの命令についての今後のUpgrade は行わないが新しいバージョンのVisual Studio には動作させるようにはする。 C# に移行しなければならないというニュース記事があり。

 Visual Studio 2022 では 

(.NetFrameWork 4.8)  もしくは .NET6 を選択することになります。

 Visual Studio 2022(.NetFrameWork 4.8)  での 販売管理ソフトは 正常に動作はすることは確認できましたが

帳票のアドオンアプリ(Sap CrystalReport) が編集できません。 開くと バイナリーダンプ画面が表示されます。

SAP側もまだ対応ができていないようです。

=======================

もし、販売管理ソフトを .NET 6 で動作させるとしたら どのくらい工数がかかるのだろうか?

ということで試してみました。

で 結論はかなり工数がかかる。 .NetFrameWork4.72 ==> .NET6  で .NET VBのソースをUPGRADE するだけでも大変。

さらに 将来的にも使うために C# へマイグレーションするとなれば もっとかかるでしょうね。

帳票のアドオンアプリ(Sap CrystalReport) については MS ReportViewer に改修することが必須になります。

自分は C# は未熟なので かつ新しい環境 SQL SERVER 2022 SSRSを使ったMS ReportViewer など新技術 にするにはそれ相応の履修期間もかかります。

==============================

ところで ここで疑問です。 このまま .NetFramework(4.72) で.Net VB のままで大丈夫なのか?

やはり .NET 6 【C#へのマイグレーション ; MS ReportViewer に改修】 は避けられないのか?

悩ましい問題です。

  


2022年2月27日日曜日 8:12

SurferOnWww 様へ

丁寧なご返信ありがとうございます。

>>クライアントは現状の .NET 3.5 のままで当面よさそうな気がしますけど? 
>>どうしてもアップグレードしたいということなら方向的には .NET Framework 4.8 で、.NET 6.0 の方向に進む理由はなさそうな気がします。

今回の依;では サーバー: Windwos 2012 Server ; SQL Server 2012 のサポート終了が来年に迫っております。

なのでサーバーもハードウエアごと一新することになりそうです。  Windwos 2022 Server ; SQL Server 2022

販売管理ソフトについても 部分的な機能追加も;まれています。 既存バグも見つかりましたのでこれらを改修することになります。

VB.NET のセットアップ用の配布にて 帳票(SAP crystalReport)のランタイム版が正常に配布できるようにするなどがあります。

=================

Visual Studio2019 .NetframeWork4.8 にするのが得策ではないかと思います。

Visual Studio2022 は帳票(SAP crystalReport) 対応していません。

Visual Studio Installerから.NET Framework 4.8をインストールして既存のプロジェクトに適用する手順

  https://hirahira.blog/visual-studio-installer-net-framework-4-8/

■**.NetFramework4.xx のサポート終了時期について**

    https://itskillmap.com/menu3_02/


2022年2月27日日曜日 21:23

2022/2/18 の最新状況

■.NET 6 のWindows Form ほかデザイナーについて

Microsoft がYoutube で公開しています。

 https://www.youtube.com/watch?v=Hq248fmuBuw

まだ WinForm のデザイナーについてはプレビュー版ですね バグも解消できていないようです。

.NET 7 でどうなるのかが注目です。