[解決済み] CS0433 "Type 'X' already exists in both A.dll and B.dll " のエラーはどこから発生するのですか?
質問
Visual Studio 2008 SP1 から内部 Web サーバー (IIS ではない) を使用して Web アプリを実行すると、上記のようなエラーが発生します。
エラーの全容 (ソース ファイル Default.aspx.cs ):
コンパイラーエラーメッセージ。CS0433: The タイプ 'WebApplication3.Site1' が両者に存在します。 both 'c:\WindowsMicrosoft.NETFrameworkv2.0.50727Temporary'の両方に存在します。 ASP.NET Filesroot ⇄⇄⇄Web_site1.master.cdcab7d2.muczzy9v.dll' の両方に存在します。 と 'c:\WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Files\root\aa563bcf\59deedc0\assembly\dl3\44c3a3cf\80dd34ed_6968ca01\WebApplication3.DLL'
先の完全な警告です。
<ブロッククオート警告 CS0436: タイプ 'WebApplication3._Default' in 'c:\WindowsMicrosoft.NETFrameworkv2.0.50727Temporary'にあります。 ASP.NET Filesroot ﹑App_Web_default.aspx.cdcab7d2._tlkwdos.0.cs' にあります。 インポートされた型と競合する 'WebApplication3._Default' と競合します。 'c:\WindowsMicrosoft.NETFrameworkv2.0.50727Temporary'にインポートされたタイプ'WebApplication3._Default'と競合します。 ASP.NET Files\root\aa563bcf\59deedc0\assembly\dl3\44c3a3cf\e096e61c_6568ca01\WebApplication3.DLL'. で定義された型を使用します。 'c:\WindowsMicrosoft.NETFrameworkv2.0.50727Temporary'で定義されたタイプを使用する。 ASP.NET Filesroot ↵App_Web_default.aspx.cdcab7d2._tlkwdos.0.cs'.
警告のソースは中間ファイルを指しています App_Web_default.aspx.cdcab7d2._tlkwdos.0.cs を参照してください。 :
Line 162:
Line 163: [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
Line 164: public class default_aspx : global::WebApplication3._Default, System.Web.IHttpHandler {
Line 165:
Line 166: private static bool @__initialized;
そして私の質問:これはどこから来たのでしょうか?
ウェブアプリ(ウェブサイトではありません!)には、1つの
Default.aspx
と
サイト1.マスター
で、依存関係はありません。これらはほとんど空で
asp:Label
があるのみです。以前は、このウェブアプリは問題なく動作していました。Default.aspx.cs のマスターへの参照をすべて削除すると、すべてがうまくいくようになりました。マスターはいくつかのコードだけを持っています。
このWebアプリケーションはfire-and-forgetのテスト用Webアプリケーションの1つなので、特に気にすることはありません。しかし、私は以前にこれを見たことがなく、今、新しいプロジェクトにコードをコピーすること以外に何をすべきかについて興味があります (クリーニングソリューションは役に立ちません)。
注: 私は この投稿 などは該当しません。
どのように解決するのですか?
理論編
この問題が ではなく アプリケーションのバグに起因するものではない場合 (例: クラス名の重複)。
この問題は、アプリケーションのプロジェクトに変更が加えられ、新しいビルド (たとえば、コード/参照/リソースの変更) が行われた後に発生するようです。この問題は、この新しいビルドの出力内にあるようです。さまざまな理由により、Visual Studio は 全体 の内容を置き換えません。この結果、アプリケーションの bin フォルダーの内容の少なくとも一部は古くなってしまいます。
この問題が発生した場合、quot;Temporary ASP.NET Files" フォルダーをクリアするだけでは、問題を解決できません。なぜなら、アプリケーションの bin フォルダーの古いコンテンツは、次にアプリケーションにアクセスしたときに、再び "Temporary ASP.NET Files" フォルダーにコピーされ、問題が持続してしまうからです。重要なのは、既存のファイルをすべて削除し、Visual Studio にすべてのオブジェクトを再構築させ、次にアプリケーションがアクセスされたときに新しい bin ファイルが "Temporary ASP.NET Files" フォルダーにコピーされるようにすることです。
解決方法
- Visual Studio を閉じる
- iisreset を実行します。
- Temporary ASP.NET Files" フォルダー内のすべてのフォルダーとファイルを削除します (パスはエラー メッセージで参照されます)。
- 問題のあるアプリケーションの "obj" および "bin" フォルダーを削除します。
- Visual Studio を再起動し、ソリューションを開きます。
- ソリューションのクリーンアップとソリューションの再構築を実行します。
説明
- ステップ1-2: 削除する必要のあるフォルダー/ファイルからリソース ロックを削除します。
- ステップ 3-4: 古いビルド ファイルをすべて削除する
- ステップ 5-6: 新しいバージョンのビルド ファイルを作成します。
関連
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み] コンパイルエラーです。タイプ 'ASP.global_asax' は両方の DLL に存在します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み] [Solved] .NETでスレッドの終了を待つには?
-
[解決済み] ASP.Netのエラーです。"型 'foo' は "temp1.dll" と "temp2.dll" の両方に存在します。