WebSurfer's Home

トップ > Blog 1   |   Login
Filter by APML

VS2019 で Web サイトプロジェクト作成

by WebSurfer 23. April 2020 11:44

Visual Studio 2015 以前(VS2017 は不明)では以下の画像のように [File] ⇒ [New] ⇒ [Wen Site...] (日本語版では[ファイル(F)]⇒[新規作成(N)]⇒[Web サイト(W)...]) で ASP.NET Web Forms の Web サイトプロジェクト作成用のテンプレートが表示されました。Visual Studio 2019 ではそのメニューがどこにあるかという話を書きます。

Visual Studion 2015

今は Web アプリケーションプロジェクトを使うのが主流ですが、ASP.NET がリリースされた頃の Web Forms アプリでは Web サイトプロジェクトを使っていました。検証などでページ単位にちょっと試してみたいというような場合は Web サイトプロジェクトが便利なので自分は今でも使っています。

両者の特徴は Microsoft のドキュメント「Web アプリケーションプロジェクトと Web サイトプロジェクト」に詳しく書かれていますので見てください。

Web サイトプロジェクトを使うメリットは、上に紹介した記事に書いてありますように、

"Web アプリケーションのごく一部を変更する場合、アプリケーション全体を再配置する必要はありません。 変更したファイルを運用 IIS サーバーにコピーするだけです。 運用サーバー上でファイルを直接編集することもできます (Web アプリケーション プロジェクトのコード ファイルは単一のアセンブリ ファイルにコンパイルされるため、.aspx ファイルまたは .ascx ファイルのみが変更された場合を除き、少しの変更でもサイト全体を配置する必要があります)。"

・・・ということです。

Web アプリケーションプロジェクトの場合は、特定のページのコードをちょっと変更しただけで全部コンパイルし直さなければならないのですが、コンパイルし直すのに時間がかかるし、一部の変更が他の部分に思わぬ影響を与えることもあるし、あるページは C# で別のページを VB.NET で作るということはできないなど、開発時の検証目的で使う場合はデメリットが大きいと思います。

で、VS2019 ではどのようにすれば Web サイトプロジェクトを作成できるかですが、まず、下の画像のように、ワークロードに「ASP.NET と Web 開発」を選択し「インストールの詳細」で[追加のプロジェクトテンプレート (以前のバージョン)]にチェックを入れてインストールします。

追加のプロジェクトテンプレート

そして、VS2019 の[ファイル(F)]⇒[新規作成(N)]⇒[プロジェクト(P)...]で「新しいプロジェクトの作成」ダイアログを開けば、その中の[ASP.NET Web Forms サイト]という Web サイトプロジェクト用のテンプレートが選択できるはずです。

新しいプロジェクトの作成

上の画面で[ASP.NET Web Forms サイト]を選択して[次へ(N)」をクリックして先に進み、次の画面でプロジェクトの名前、プロジェクトを生成する場所(フォルダ)、フレームワークを設定してから[作成(C)]をクリックすればプロジェクトが自動生成されます。

Default.aspx

上の画像は、生成されたプロジェクトを VS2019 から[デバッグ(D)]⇒[デバッグの開始(S)](または[デバッグなしで開始(H)]) で実行し、Default.aspx を表示したものです。

(注:アドレスバーに表示されているのが Default.aspx ではなくて Default となっている理由は、テンプレートに実装されている Friendly url の機能によるものです。もちろん無効に設定できます)

Tags: ,

DevelopmentTools

TableAdapter 構成ウィザードで不具合(その 2)

by WebSurfer 21. April 2020 10:40

最新版の MySQL 8.0.19 をインストールしましたが(下の画像参照)、2 年前にインストールした MySQL 5.7.17 と同様に、依然として MySql.Data.dll のバージョン不一致が原因で Visual Studio の TableAdapter 構成ウィザードに不具合が出るという問題がありましたので備忘録として書いておきます。

MySQL 8.0.19

MySQL 5.7.17 時の問題とその解決方法は先の記事「MySQL での TableAdapter 構成ウィザード不具合」で書きました。それと同じ MySQL for Visual Studio と Connector/NET の MySql.Data のバージョン不一致による問題です。

ただし、何故か Visual Studio Community 2019 v16.5.4 では問題なく、Visual Studio Community 2015 Update 3 だけで問題が出ました。(注:VS2017 は自分は持っていないので不明です。VS2010 は MySQL 8.0.19 のサポート対象外のようなので試してません)

下の画像は VS2015 で TableAdapter 構成ウィザードを使って型付 DataSet / DataTable + TableAdapter を作成しようとしたとき時、最後のステップで表示されたエラーメッセージです。

TableAdapter 構成ウィザード

上のエラーメッセージは、VS2015 のウィザードが使う MySql.Data.dll のバージョン 8.0.18 と、GAC の MySql.Data.dll のバージョン 8.0.19 に不一致があって、それが原因でキャストに失敗したと言っています。ちなみに、前者は MySQL for Visual Studio、後者は Connector/NET によりインストールされたものです。

この問題は、先の MySQL 5.7.17 時と同様に、MySQL Installer(この記事の一番上の画像のもの)を操作して、Connector/NET のバージョンを 8.0.19 から 8.0.18 に下げることで解決できます。

しかしながら、VS2015 での問題を解決するために Connector/NET のバージョンを 8.0.19 から 8.0.18 に下げると、今度は VS2019 から MySQL に接続できなくなるという問題が出ます。

Connector/NET のバージョンを 8.0.18 に下げた後、VS2019 から MySQL の接続を作成する際、以下の画像のように「データソースの選択」ダイアログで[MySQL Database]を選択すると、

データソースの選択

下の画像のように、MySQL for Visual Studio が "An error occurred that is normally caused by not having for Visual Studio properly installed." というエラーメッセージを表示します。

MySQL for Visual Studio のエラーメッセージ

このエラーを無視して先に進めると、下の画像のように VS2019 が MySql.Data.dll 8.0.19.0 が見つからないというエラーメッセージを表示して MySQL への接続に失敗します。

VS2019 のエラーメッセージ

この問題を解決する方法は、Connector/NET のバージョンを 8.0.19 に戻すことです。ただし、そうすると、再び、VS2015 で TableAdapter 構成ウィザードを利用する際に MySql.Data.dll のバージョン不一致の問題が出ますが。

何故 VS2015 と VS2019 ではこのような違いが出るのかは不明です。MySQL 8.0.19 インストーラーのデフォルト設定で VS2015 / VS2019 の Common7\IDE\PrivateAssemblies フォルダにある MySql.Data.dll のバージョンは 8.0.18 で、GAC にある MySql.Data.dll のバージョンは 8.0.19 と異なるのですが・・・

というわけで、VS2019 から MySQL に接続したり TableAdapter 構成ウィザードを利用するためには Connector/NET のバージョンは 8.0.19(デフォルト)のままとしておき、VS2015 での TableAdapter 構成ウィザードの利用は諦めざるを得ないようです。(注:VS2017 は自分は持ってないので不明です)

Tags: ,

MySQL

MySQL をインストールしました(その 3)

by WebSurfer 20. April 2020 10:16

先の記事「デスクトップ PC を買いました」の PC に MySQL 8.0.19 をインストールしました。8.0.19 はこの記事を書いた時点での最新版です。

MySQL 8.0.19

手順は「MySQL をインストールしました(その 2)」で書いた MySQL Community Server 5.7.17 のものとほぼ同じです。

前回 5.7.17 の時と同様に、今回も MySQL のダウンロードサイト MySQL Community Downloads からインストーラー mysql-installer-web-community-8.0.19.0.msi を入手し、上の画像の製品一式をインストールしました。

前回の手順と大きく異なる点のみ以下に備忘録として書いておきます。下の (7) とか (8) は先の記事「MySQL をインストールしました(その 2)」に書いたステップの番号です。

(7) タイプとネットワーク

ここまでは前回 5.7.17 の時とほぼ同じですが、この画面で[Next >]をクリックすると、前回は出なかった Authentication Method というダイアログが出ます。以下の画像を見てください。

Authentication Method

Use Legacy Authentication Method (Retain MySQL 5.x Compatibility) を選んで[Next >]をクリックします。

(9) MySQL サーバーへのアカウント登録

前回 5.7.17 の時は「(8) MySQL ユーザー詳細情報」がこのステップより先でしたが、今回はこちらが先になります。[MySQL Root Password]欄に任意のパスワードを入力し、[Add User] ボタンをクリックすると「(8) MySQL ユーザー詳細情報」のダイアログが出ます。設定したパスワードは忘れないように覚えておいてください。

(8) MySQL ユーザー詳細情報

この画面で User Name に root を設定すると既に使用されているというエラーになります。どうも root とは別のユーザーを設定するらしく、ここでは別の任意のユーザー名とパスワードを設定します。設定したユーザー名とパスワードは忘れないように覚えておいてください。

(ちなみに、前回の 5.7.17 の時はこの画面で User Name に root を設定、Password を入力して「(9) MySQL サーバーへのアカウント登録」に進むと、そこで[MySQL User Account]には (9) で設定したユーザー root が表示されました)

(13) 設定の完了

Apply Configuration

内容が前回と異なりますが気にせず続行します。

その後、MySQL Router Configuration というダイアログが出ますが、InnoDB cluster と関係あるものらしく、自分は利用しないのでチェックは入れずスキップして完了しました。


MySQL for Visual Studio の MySql.Data.dll 8.0.18 と Connector/NET の MySql.Data.dll 8.0.19 のバージョン不一致により Visual Studio の TableAdapter 構成ウィザードで不具合が出るという問題は依然としてあります。それについては別途記事を書く予定です。

Tags: ,

MySQL

About this blog

2010年5月にこのブログを立ち上げました。その後 ブログ2 を追加し、ここは ASP.NET 関係のトピックス、ブログ2はそれ以外のトピックスに分けました。

Calendar

<<  July 2020  >>
MoTuWeThFrSaSu
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

View posts in large calendar