私は(VS2010にVS2008)3.5から4.0への私のASP.NETプロジェクトを移行し、私はサイトを公開しようとしたとき、私は、このエラーが発生しました:ASP.NET 3.5で間違った継承が公開されていますが、4.0では公開されていませんか?
The type 'TYPE' exists in both 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files...\App_Web_1z57x8dg.dll' and 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files...\App_Web_ofaxwney.dll'
しかし、私は戻って私の.NET 3.5/VS2008を行ったときそれが問題なく公開可能であることをプロジェクトに伝えます。私は似たような問題でいくつかの質問を見つけましたが、特にthisは非常に有益でした。 batch="false"
オプションを実行しましたが、引き続き問題が発生しました。
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ViewPresentationTabControl.ascx.cs" Inherits="Common_UserControls_PresentationTabControl" %>
、Inherits
タグが間違ったコントロールを指しています。これはコピー&ペーストコードの犠牲者でした(私たちがこのプロジェクトを継承したオフショア契約者の礼儀です)。
私はすべてのエラーを経て、明白な間違いを固定し、このプロジェクトでは、.NET 4.0/VS2010でパブリッシュしました。
この長い引き出された記事の目的は、なぜ3.5は、それが4.0起こるなくできるようになるのですか?それはどんなバージョンでも大きな問題を引き起こすようなものだと思われますが、明らかにそうではありませんでした。
すべての情報をいただければ幸いです。その後、
感謝を表面化されたウェブサイトのインストール、の.msiパッケージをビルドこれを避けるために、しかし、私はすべての場所を見て、問題を修正しました'Inherit'タグは別のファイルを指していました。ここでの質問は、.NET 3.5が4.0ではなく公開される理由です。私の質問は十分ではなかったのでしょうか?混乱を避けるために修正できるよう、私にお知らせください。 –
oops。最後まで読まなかった:)ビルドアプローチの違いは何らかの理由で4.0のサイトコンテンツを1つの大きなapplication.dllアセンブリにビルドするため、ビルド中に不正な継承が浮上することになります。以前のビルドはページごとに行われ、1ページは1つのアセンブリにまとめられました。これを避けるために、私は通常、Webサイトのインストール用の.msiパッケージをビルドします。これは、パッケージ化前に完全なWebサイトのビルドを強制し、ビルド中にこれらのエラーが発生していました。興味深いもの: – b0rg
フィードバックをありがとう!その情報をあなたの答えに加えて、正式な答えとしてそれを受け入れることができます。 –