App_Code で欠落しているアセンブリ参照を追跡する
謎のエラー メッセージ「CS0012: タイプ 'Project.Rights.OperationsProvider' が定義されています」 「参照されていないアセンブリ内」は、App_Code ディレクトリを使用する開発者を悩ませます。従来のソリューションを使用して問題を解決しようとしているにもかかわらず、一部の人にとって原因は依然としてわかりません。
詳しく調べると、関連する .html ファイルをデプロイしているにもかかわらず、アプリケーションが App_Code ディレクトリで欠落している型を検索していないことが明らかになります。 cs ファイルをその場所にコピーします。その理由を理解するために、エラーの根本的な原因を詳しく調べてみましょう。
エラーについて
このエラーが発生した場合は、必ずしも問題を示しているわけではないことを認識することが重要です。指定されたアセンブリ (この場合は「Project.Rights」) への参照がありません。代わりに、問題は、関連する型への参照が欠落していることにあります。
例として、次のコードを考えてみます。
MyObjectType a = new MyObjectType("parameter");
「MyObjectType」は正しく参照できますが、次の場合に問題が発生します。そのコンストラクター オーバーロードの 1 つは、参照されていない型を受け入れます。たとえば、コンストラクターが次のようにオーバーロードされている場合:
public MyObjectType(TypeFromOtherAssembly parameter) { // ... constructor code ... }
このような場合、「TypeFromOtherAssembly」への参照が欠落しているためにエラー メッセージが表示されます。
問題の解決
この問題を解決するには、メソッド呼び出しとプロパティ参照を注意深く調べて、不足している可能性のあるものを特定します。参考文献。これらの微妙な見落としに注意することで、エラーを修正し、アプリケーションの機能を復元できます。
以上がApp_Code アセンブリ参照エラーが間違ったアセンブリを示しているのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。