web-dev-qa-db-ja.com

実行時のVisual Studio 2010 Designerエラー

私はVS2010を使用していて、フォームをデザイナモードで開いてアプリケーションを実行すると、デザイナタブにフォームデザイナが表示されなくなり、代わりにエラーが表示されます(IDEを再起動することによってのみ修正されます)。

「デザイナを読み込む前にデータが失われる可能性を防ぐには、次のエラーを解決する必要があります。」

1エラー:

「ファイル内のどのクラスも設計できないため、デザイナーはこのファイルを表示できませんでした。デザイナーはファイル内の次のクラスを検査しました:##### ---基本クラス#####はロードされました。アセンブリーが参照され、すべてのプロジェクトがビルドされていることを確認してください

次に、次のコールスタックを示します。

system.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)で
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)で
System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost Host)で

これは本当に迷惑です。

おかげで、

ジョエル。

27
Joel

このビジュアルスタジオのバグも時々発生しますが、エラーテキストは無視して、代わりに次のようにします。

  1. デザインタブを閉じます
  2. ソリューションエクスプローラーをダブルクリックするか、[ソースコード]タブを右クリックして[デザイナーの表示]を選択することにより、デザインモードを再度開きます。
  3. 突然すべてが再び機能します!

役に立たない場合は、箇条書き2を次のように変更する必要があります。Visual Studioを閉じて再起動します。

多分これはあなたを助けることができます。

31
Jack Johnstone

私は通常、ビジュアルフォームを閉じ、ソリューションを再構築し、右クリックして、フォームコードで[ビューデザイナー]を選択します。

非常に、非常に迷惑です。 VS2008に戻ろうと考えています。

6
MarkusR

フォームを閉じます。溶液をきれいにします。ソリューションを再構築します。フォームを再度開きます。他に何もしないときに私のために働いた。

3

私はこれと同じ問題を抱えていて、新しいプロジェクトを作成し、それをコンパイルしてプロジェクトを実行することでこれを解決できました。その後、すべてのファイルをインポートしてプロジェクトを再度実行しましたが、自動的に再び機能し、余分なことは何もありませんでした。

2
Riaz

次のようにすることで、VSの再起動を回避できます

  1. 新しいユーザーコントロールを追加する
  2. その上にカスタムユーザーコントロールの一部をドラッグアンドドロップします(エラーが発生した場合は、ソリューションを再度ビルドします)。
  3. コントロールを再度開きます。

私の場合、他のカスタムコントロールで使用されるいくつかのカスタムコントロールを含むwinformsプロジェクトがあります。これらのカスタムコントロールのいくつかを開くたびに、「The base class ...」エラーが発生します。新しいカスタムコントロールを追加し、プロジェクトをビルドしてから、プロジェクトから新しいカスタムコントロールにいくつかのカスタムコントロールを追加すると、「基本クラス...」エラーが発生していたカスタムコントロールを開くことができました。

更新:私は問題を見つけたと思います。コントロールがcsprojファイルに適切に「追加」されませんでした。 csprojファイルでは、UIコントロール/コンポーネントの部分クラスのファイルに 'DependentUpon'属性が必要です。

例:前:

<Compile Include="Windows\Forms\DataGridView.cs">
    <SubType>Component</SubType>
</Compile>
<Compile Include="Windows\Forms\DataGridView.Designer.cs" />

後:

<Compile Include="Windows\Forms\DataGridView.cs">
    <SubType>Component</SubType>
</Compile>
<Compile Include="Windows\Forms\DataGridView.Designer.cs">
    <DependentUpon>DataGridView.cs</DependentUpon>
</Compile>
2

カスタムユーザーコントロールがエラーを作成しているように見える(理由はわからない)状況があったため、フォームからユーザーコントロールへの参照を削除し、エラーは解消しました。

1
John M

SP1をインストールした後、問題は解消したようです。

皆様のご協力ありがとうございます。

0
Joel

GenericsのAコントロールを使用して同じ問題が発生しました

      MvpUserControl<Presenter,IViewMode> : UserControl

私がやっていることは、リファレンスを削除してもう一度追加し、ソリューションをクリーンアップして再構築することですこれが他の誰にとっても役立つことを願っています

0
Kmilo

「プロジェクトファイル(.vcxproj)で、対象のFrameworkバージョンのエントリを見つけます。たとえば、プロジェクトが.NET Framework 4.5を使用するように設計されている場合は、要素の要素でv4.5を見つけます。」

(マイクロソフト)

私の場合、「v4.5」は存在しなかったので追加しましたが、すべてが順調です。

0
user7101931

私はクリーンなソリューションを試し、ソリューションを再構築し、私のために働きました。この助けを願っています!

0
Tiến Dũng

Form1.Designer.csでコーディングしないでください。ロジックをForm1.csに移動します(Form1.cs [Design]タブでF7を押します)。

このソリューションは正常に機能します。問題を解決するには、以下の手順に従ってください。

  1. 正しくロードされているかリファレンスを確認してください
  2. ソリューションをクリーンアップして再構築します
  3. プロジェクトをクリーンアップして、再度ビルドします
  4. プロジェクトをクリーンアップして再度開きます
0
Kamel nazar

VS2010 SP1でも同じ問題が発生しました。最後にWindows Updateを使用して、Visual Studioと.Netのいくつかのアップデートを見ました。それらをインストールしましたが、もう起こっていません。

古い投稿ですが、これを見つけるかもしれない人のために...

このエラーに遭遇しただけで、私にとっては比較的簡単な修正でした。

クラスの名前と関係がある可能性があり、問題のあるクラスの名前を上位に変更していることがわかりました。これは、アセンブリに表示されるアルファベット順です(AはZよりも高い)。

MSDN記事

幸運を。

0
JSmith

このエラーは、Formクラスがファイルの最初のクラスでない場合、たとえばファイルの先頭にヘルパークラスがある場合に発生します。

この問題を解決するには、Formクラスを除く他のすべてのクラスをファイルの最後に移動します。

0
Tomas Kubes