vs2019 asp デザイン作成でコントロールの作成中にエラーが発生しました

タグの編集
投稿者 nin  (その他) 投稿日時 2024/1/6 12:57:27
毎度お世話になります
初心者の上ずいぶん触っていなかったので説明がうまくできないのですが
asp.netのサーバ上のソースファイルを編集しようとしています
もともと作っていたパソコンで開くと、正常なのですが別のパソコンでデザイン編集を行おうとすると
コントロールの作成中にエラーが発生しました - Button1Failed to create designer 'System.Web.UI.WebControls.Button, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
配置しているコントロールがすべてエラーになります
解決できる方法はありますでしょうか?
vs2019です
投稿者 るきお  (社会人) 投稿日時 2024/1/6 13:42:24
第一印象は 「サーバ上のソースファイルを編集」というところで、何かありそうだなと思いました。
次に思ったのは、.NET Fameworkのバージョンが違うのかなということです。

「サーバ上のソースファイル」というのがどういう状況で格納されているのかわかりませんが、ソースファイル(繰り返しますが「ソースファイル」です。)一式があるのであれば、ローカルのフォルダーにコピーしてから、Visual Studio 2019で対象の vbproj (または csproj?) からプロジェクトを開いていみると改善される可能性があるなと思いました。(もしWebアプリケーションではなく、Webサイトだとしたら、このあたりどういう扱いだったか自信がないです)
ASP.NETは実行されるまでに多段階のコンパイルが行われるので、おっしゃっているソースファイルというのは、実際のところ編集可能なソースファイルではない可能性ももあるなと思っています。

.NET Frameworkのバージョンの方は Visual Studio 2019を使用されているということなので問題なさそうにも見えますが、正常なパソコンとエラーになるパソコンでVisual Studioも含めてバージョンを比較してみるというのは1つの基本的な確認事項だと思います。
投稿者 nin  (社会人) 投稿日時 2024/1/6 18:53:09
回答ありがとうございます
該当ソフトがもともとかなり古いものでおそらくインタープリタで動作していると思われます コンパイルせずに直接Webサイトのファイルを編集していたものです
おっしゃるように一度、ローカルフォルダで作成し、コンパイルしてから置いてみます
投稿者 nin  (その他) 投稿日時 2024/1/6 19:56:19
まだ解決していないのですが、どうも web.config の内容が原因みたいです どうも おしゃるように.NETのバージョンかもしれません
エラーになるパソコンは、Windows11 動作しているのはWindows10です  Configは、Framework2時代のものみたいです
configの記述内容はさっぱり解らないのでもう少し調べてみます 
投稿者 るきお  (社会人) 投稿日時 2024/1/7 08:55:35
> configの記述内容はさっぱり解らないのでもう少し調べてみます
web.configの記述内容がわからなければ、AIに聞いてみるのも手です。
手軽に使えるAIとしてはBingチャットがあります。

> インタープリタで動作していると思われます
ASP.NETであればインタープリンタで動作することはなく、コンパイラによってコンパイルされます。
ただ、コンパイルが多段階で行われており、ユーザーがブラウザーでアクセスしたときにコンパイルされるものもあります。
コンパイル済みのファイルをあとから編集した場合の再コンパイルの動作がどうなるのかはわからないです。
そのため、通常は動作しているサーバーのフォルダー内のファイルを編集するのではなく、開発環境でプログラム(やaspxの内容)を編集して、編集済みのものをサーバーにデプロイ(配置)します。
ASP.NET Webフォームのコンパイルの動作について記述した昔の記事を見つけましたので参考に共有します。(今回直面している問題には直接役に立たないと思います。)
https://atmarkit.itmedia.co.jp/fdotnet/bookpreview/learnaspnet_0201/learnaspnet_0201_01.html

とはいえ、確かにサーバーのファイルを直接編集するということもできてしまうので、もうだいぶ昔ですが、それをやっている開発チームを見かけたことは何度かありますか、なんだか結局いろいろ面倒なことに遭遇していたような…。具体的なところは思い出せずです。

今回の件では、「サーバ上のソースファイルを編集」というのを具体的にどうやっているかがよくわからないのですが、
「サーバ上のソースファイルを編集」する場合は、成功するパソコンと、失敗するパソコンがあるということですね。
一方、ソースファイル一式をローカルにコピーして編集するやり方の場合でもやはり成功するパソコンと失敗するパソコンがあるのか、もしそうなら成功するパソコンと失敗するパソコンの違い(まず見るべきは.NET Frameworkの違い)がとっかかりになりそうで、そうではなく、もし両方のパソコンで失敗するのだとすれば、「ソースファイル一式」と言っているモノが実は完全な一式ではないというような考慮が必要だと思います。
投稿者 nin  (その他) 投稿日時 2024/1/7 14:28:49
るきお様 いろいろご教授ありがとうございます
17年前に作ったもので デバッグににあたって、ローカル上では環境が異なるので直接サーバ上のaspxファイルを編集していたようです
新しくプロジェクトを作って発行して配置すると、web.configでエラーになります このweb.configを旧のエラーになるフォルダに入れると、編集できるようになります
で、ご指摘のバージョンではないかとの話で、旧のconfigファイルに、新configファイルに記述されているFrameworkのバージョンの記述を追記したところ正常に編集でき aspxも動作しました
編集していたものは編集できるけれども、正しいソースでは無いということですね 新しく発行したサイトのフォルダ ファイル数は、旧のものから比べると、ものすごく多いです・・・。 旧は、xxxx.aspxと、xxxx.aspx.vb と、web.config  3個でした まあ根本的に作り方が誤っていたようです
投稿者 るきお  (社会人) 投稿日時 2024/1/7 18:20:41
> 編集していたものは編集できるけれども、正しいソースでは無いということですね
ソースコードとして正しいかどうかは、ninさんが何を配置しているか次第なのでわかりません。
念のため補足しておきますと、配置先でのソースコードの直接編集がマイクロソフトが想定している使い方であるかどうかはわかりません。もしかすると、この方式でも何かうまいやりかたがあるのかもしれません。
ただ、私の周りではこのやり方でうまくやっている開発チームはなく、ほとんどの開発チームは、発行機能を使ってサーバーに配置するものを出力していました。

> 新しく発行したサイトのフォルダ ファイル数は、旧のものから比べると、ものすごく多いです・・・。 旧は、xxxx.aspxと、xxxx.aspx.vb と、web.config  3個でした
あまり差があるようだとそれはそれで何かおかしいような…。
もう17年まえのことなので何が正しいかわからなくなっているようであれば十分にテストすることをお勧めします。

なお、ご利用になっている ASP.NET Webフォームは 2019年に更新が停止された技術で、現在新しくプログラムをするときにはまず採用されない技術です。
もし、作り変えや、別途新規Webアプリを作成されることがあれば、ASP.NET Core Razor Pages をお勧めします。または、ASP.NET Core Blazor。 
投稿者 nin  (その他) 投稿日時 2024/1/7 19:45:30
るきお様 かさねがさねご教授ありがとうございます ASP.NET Core Razor Pages 挑戦してみます!