Visual C# 2008 EE デザインビューエラー
お世話になっております。
ASP ではないのですが、C# に関する件のため、こちらに投稿させていただきました。
【環境】
Visual C# 2008 Express Edition
.NET Framework 3.5
【現象】
コントロールをデザインビューで開いた際に、Visual C# がエラーで強制終了してしまう。
※参照:添付ファイル「visualC#_error.jpg」
【詳細】
BasePage.cs → public partial class BasePage : UserControl
IndexPage.cs → public partial class IndexPage : BasePage
このように、UserControl を継承した BasePage クラスと、そのクラスを継承した IndexPage クラスが存在します。
このような関係で、IndexPage クラスをデザインビューで開いた際に、強制終了してしまいます。
IndexPage.cs のコードの表示を行ったり、BasePage クラスをデザインビューで開いた際には、強制終了せずに正常に動作します。
プロジェクト作成当初は、IndexPage クラスを開いても問題なくデザインビューが見れていました。いつごろからかこのような状態になってしまいました。
IndexPage クラスだけでなく、その他 BasePage クラスを継承しているクラスをデザインビューで確認すると強制終了してしまいます。
なにか心当たりのある方がいらっしゃいましたら、
ご教示よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> Windows のエラーダイアログには「system.typeinitialization」が表示されておりました。
これはクラスの初期化時に発生する例外なので、デザインビューで出てるということはクラス定義の中にデザインビューが解釈できない記述があると考えられます。
デザインビューの構文解析はどうもコンパイラに比べると性能が劣ってるようで、コンパイラが正常に通るコードでもエラーで開けなくなってしまうことがあるようです。
> 実際は別クラスで
> public readonly static int XXXXX = ・・・
> と一旦定数定義したものを参照しています。
この定義をデザインビューが認識できてないという可能性が高そうなのですが。定義を用いずに直に記述した場合はどうでしょうか?
この回答への補足
ご回答の件、直接以下のように定数を用いず記述してみましたが
やはり子クラスをデザインビューで開いた際に強制終了してしまいました。
int x = int.Parse(ConfigurationManager.AppSettings["XXXXX"]);
開発中はコメント化しておくなどで対応しようかなと考えていますが、、、
No.1
- 回答日時:
IndexPage.csの中に複数のクラス定義があったりはしませんか?
ユーザーコントロールは使ったことが無いのでわかりませんが、Form1.csなんかでForm1以外のクラスを定義してたりするとエラーでFormデザイナが開かなくなってしまいます。それと同じような状況かと。
この回答への補足
int.Parse(ConfigurationManager.AppSettings["XXXXX"]);
の部分は、毎回 timer イベントで読み込むのは無駄なので、
実際は別クラスで
public readonly static int XXXXX = ・・・
と一旦定数定義したものを参照しています。
ご回答ありがとうございます。
添付画像に問題があったので削除してしまいましたが、
一度削除すると、再アップロードできないようで、、、
ご回答の件、IndexPage.cs には 1 クラスしか定義しておりませんでした。
こちら、一度最初から基底クラス(BasePage)を作成しなおしつつ、
現状の BasePage クラスのどこが悪いかを 1 つ 1 つ確認いたしました。
そうすることで原因となる 1 行を特定することができました。
以下のような処理です。
protected void manipulationTimer_Tick(object sender, EventArgs e)
{
・・・
int x = int.Parse(ConfigurationManager.AppSettings["XXXXX"]);
・・・
}
manipulationTimer_Tick メソッドは、timer イベントとして BasePage クラスに定義しております。
このメソッド内で、App.config 内から定数を取得している箇所があることで、
今回のような現象が起きるようです。
(IndexPage をデザインビューで開いた際に、基底クラスである BasePage の manipulationTimer_Tick がチェックされ Visual C# 自体が落ちてしまう??)
添付画像には載せていたのですが、
Windows のエラーダイアログには「system.typeinitialization」が表示されておりました。
Timer イベントの内部で、App.config からの値を設定することは可能でしょうか?
アプリケーション自体はこのソースコードで正常に動作するため、Visual C# 自体の動作なのでしょうが、、、
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい 3 2022/11/14 15:40
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# C# 継承の問題で programに示された拡張をすべて含んだ上で,クラス Mammal に,そのオ 1 2022/07/22 09:48
- Access(アクセス) お世話になっています いまクエリを作っています。。 デザインビューの画面の集計の欄で、「グループ化」 4 2022/09/17 17:03
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- Windows 10 windowsの回復ドライブや復元ポイントを使用した場合の戻る位置を教えてください。 5 2023/08/19 14:52
- Excel(エクセル) 別インスタンスのエクセルを制御したい 1 2023/05/10 02:03
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- Excel(エクセル) Excelで行削除をすると… 1 2023/07/26 11:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチで当日日付で作成される...
-
エクセルに張り付けた写真のフ...
-
Windows10にデュアルブートでXP...
-
高校1年生情報の問題について。
-
プログラミング関係で質問です。
-
onedrive にexcelファイルをア...
-
Excel条件付き書式について
-
Accessのトグルボタンでサブフ...
-
キヤノン アソビカメラ iNSPiC ...
-
VBA 複数のテキストボックスと...
-
SPO2測定
-
エクセルのマクロについて教え...
-
インドe-Visa 承認書のApplicat...
-
SPIの非言語の割合と比が難しく...
-
SPIの対策は参考書でやるべきか?
-
LEDで電光掲示板に「A B C D E...
-
One Driveへのアクセス
-
LINE APIからasp.net の web サ...
-
Windows10エンタープライズ版をインス...
-
Ip アドレスて日毎に変わるんで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
(UWSC) 「#32770」の意味わかり...
-
ダイアログ表示時にチェックボ...
-
クラスのアドレスを引数として...
-
C++ protectedにアクセス不可
-
【ASP.NET】 独自で作成したク...
-
MFCアプリのコマンドラインでパ...
-
ダイアログクラスのコントロー...
-
エディットコントロールでEnter...
-
このコンパイルエラーの意味に...
-
CMainFrameクラスの使い方
-
イベントにAddHandlerされてい...
-
MFC モードレスDlgについて
-
MFCのCListCtrlでスクロールを検出
-
privateなメンバ関数をテストす...
-
[MFC] CWnd::MessageBoxの警告...
-
継承を重ねた場合のコストはど...
-
DataGridViewのセルに斜線を引...
-
ボタンのオーナードローについて
おすすめ情報