aspx/c# で書かれた Web プロジェクトを受け取りました。これを Visual Studio 2010 にロードすると、コード ビハインド ファイル内の一部のコントロールが現在のコンテキストに存在しないという多くのエラーが表示されました。
コード ビハインド ファイル名の誤り、runat
-attribute の欠落、VS の再起動、プロジェクトのリロードなど、一般的な落とし穴を確認しましたが、エラーは解決されません。
問題の場所を確認するには、他に何ができますか?
aspx/c# で書かれた Web プロジェクトを受け取りました。これを Visual Studio 2010 にロードすると、コード ビハインド ファイル内の一部のコントロールが現在のコンテキストに存在しないという多くのエラーが表示されました。
コード ビハインド ファイル名の誤り、runat
-attribute の欠落、VS の再起動、プロジェクトのリロードなど、一般的な落とし穴を確認しましたが、エラーは解決されません。
問題の場所を確認するには、他に何ができますか?
コード ビハインドを CodeFile="where code locate" に変更してみてください。おそらくうまくいくでしょう。
マークアップ ファイルの継承クラスとコード ビハインド ファイルが一致する必要があります。また、これらのコントロールがサード パーティではなく、dll などを参照する必要があるかどうかも確認してください。これらのコントロールがユーザー コントロール (ascx) コントロールである場合は、上部の登録行のタグ名を修正します。
これは非常に厄介なハックですが、aspx ページからコントロールを削除してページを保存し、コントロールをページに貼り付けてコード ビハインドを再度保存すると、コントロールが認識されるようになります。ID などの属性を変更するたびに、この問題が発生し続けます。
@03Usr に感謝します。次のリンクが答えをもたらしました。
Visual Studio 2008 のコード ビハインドで ASP.NET コントロールを参照できない
すべてのデザイナー ファイルを削除し、プロジェクトの Web アプリケーションを変換すると、デザイナー ファイルが元に戻り、コントロールが再び参照可能になります。