4

Web アプリ用の WebApplication プロジェクト、ビジネス ロジック プロジェクト、および WebDeployment プロジェクトがあります。

ソリューションをビルドすると、展開の "Release" ビンにはプロジェクトごとに 1 つの dll が含まれます。そのため、MyWeb.dll、MyWebBusiness.dll、および MyWebDeploy.dll 用に 1 つ取得します。

サイトを実行しようとすると、MyWeb.dll と MyWebDeploy.dll の両方に同じタイプが表示され、チョークします。

エラー メッセージ: CS0433: タイプ 'AV' は両方の 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\53d45622\6c032bd2\assembly\dl3\33f3c6b2\abc9430a_285ac901\MyWeb に存在します.DLL」および「c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\53d45622\6c032bd2\assembly\dl3\631e5302\0231160d_285ac901\MyWebDeploy.DLL」

4

4 に答える 4

10

私が考えることができるいくつかの理由:

  • プロジェクトにApp_Codeディレクトリがある
  • CodeBehindではなく、一部のページ マークアップにCodeFileページ ディレクティブがあります。
于 2008-12-09T18:36:41.277 に答える
0

web.config ファイルに batch="false" を追加します

主にマスターページのファイルに修正名を付けます

<compilation ... batch="false"/>

  ...
于 2013-01-06T11:14:02.443 に答える
0

これに関する素晴らしいフォーラム投稿があります: http://forums.asp.net/t/980517.aspx

必要なのはWebアプリケーションプロジェクトの適切なコードだけであり、VSは「ああ、これはWebサイトプロジェクトなので、自動コンパイルしたほうがいい」と言い、それがすでに単一の DLL も同様です。

上記の Darin が挙げた原因が主な原因です。

同じアセンブリへの誤った 2 つの参照、web.config アセンブリ セクションでの二重参照、またはプロジェクト内のフォルダーへのコード ファイルの重複コピーの誤ったドロップにより、同様のエラーが発生する可能性があることに注意してください。 web.config でデバッグがオンになっている場合、エラー メッセージには、Web アプリ アセンブリ {WebAppName}.dll および自動コンパイル アセンブリ App_Web_{number}.dll 以外のアセンブリが記載されている必要があります。

(参照されたスレッドで) イベント ハンドラーが問題を引き起こしていると言っている人がかなりいますが、コードの背後に奇妙なものがあり、自動コンパイルが必要であると解釈されているだけだと思います。私は同じボートに乗っており、大量のサンプル コードをカット アンド ペーストして自分の Web アプリケーションに貼り付け、上記のすべてをチェックしました。ただし、多くのページには、「Web フォーム デザイナーによって生成された」コードが既に含まれているコード ビハインドが含まれているため、ソリューション エクスプローラーでアプリケーションを右クリックして「Web アプリケーションに変換」を選択しても、何も起こりません。古いコードはそこに残り、二重コンパイルが続行されます。

したがって、これらの投稿に加えて、次のように言います。コードが切り取られて貼り付けられていて、コンバーターが気に入らないものがある場合、コンバーターはそれを変換せず、二重コンパイルが続行されます。唯一の解決策は、問題のあるページを新しい項目として追加し、マークアップとコードを (必要に応じて少しずつ) コピーしてから、古いバージョンを削除することです。

私の場合は、そのプロジェクトの Web サイトにアクセスしただけでした。というのも、それはとにかくデモ プロジェクトにすぎなかったからです。

于 2010-02-09T07:53:34.430 に答える
0

プロジェクトを Web サイトから Web アプリに変換し、VS の「WebApp に変換」オプションを使用したにもかかわらず、すべてのページに CodeBehind ではなく CodeFile がありました。Codefile を CodeBehind に手動で置き換えると、問題は解決しました。これを追加して、他の人が webapp に変換するのに役立つようにしました。

于 2012-02-16T21:49:02.847 に答える