Windows Azure Tools 1.4 をインストールした後、新しいプロジェクトを作成すると、次のエラーが発生します。
競合する ASP.NET Web ページのバージョンが検出されました: 指定されたバージョンは "1.0.0.0" ですが、ビン内のバージョンは "2.0.0.0" です。続行するには、アプリケーションの bin ディレクトリからファイルを削除するか、web.config のバージョン指定を削除してください。
Windows Azure Tools 1.4 をインストールした後、新しいプロジェクトを作成すると、次のエラーが発生します。
競合する ASP.NET Web ページのバージョンが検出されました: 指定されたバージョンは "1.0.0.0" ですが、ビン内のバージョンは "2.0.0.0" です。続行するには、アプリケーションの bin ディレクトリからファイルを削除するか、web.config のバージョン指定を削除してください。
binフォルダーに、web.configに記載されているものとは異なるバージョンのアセンブリがあることがわかります。奇妙な点は、メッセージが示唆しているのはアセンブリではない可能性があることです。それはその子孫かもしれません。
binフォルダー内のSystem.Web.WebPagesのバージョンが2.0.0.0であると主張するというこの問題が発生しましたが、確認したところ、間違いなく1.0.0.0でした。その後、バージョン2.0.0.0であるのはSystem.Web.WebPages.Deploymentであることが判明しました。そのアセンブリを削除した後、エラーはなくなりました。私はこれについてブログ投稿を書きました:ASP.NETWebページの競合するバージョンが検出されました
私は同じ問題に遭遇しましたが、根本的な原因は少し異なりました。これは解決するのが少しトリッキーでした。プロジェクトには、System.Web.WebPages の正しい 1.0.0.0 DLL バージョンと、Web.config の正しい構成がありました。ただし、System.Web.WebPages.Deployment および System.Web.WebPages.Razor DLL は、バージョン 1 ではなくバージョン 2 を参照していました。
私の同僚の解決策は、最初は正しいバージョンを参照していなかったときに、魔法のように正しいバージョンを参照していました。プロジェクトファイルを見てみると、バージョンは2でしたが、DLLのヒントパスはバージョン1でした。そのため、彼がソリューションを開いたときはバージョン1が使用されていましたが、私の場合はバージョン2が使用されていました。ここでヒントパスが違いを生んだと思います。
チェックインされたもの:
<Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.Deployment.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
修正後:
<Reference Include="System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
私はこの問題を抱えていて、気が狂いました。簡単な解決策は、bin ディレクトリからすべてを削除し (Build Clean では十分ではありませんでした)、再構築することでした。プログラミングの変更は必要ありませんでした。
この問題は、同僚がプロジェクトを MVC4 にアップグレードした後に発生しました。
私もこの問題を抱えていて、ビルドを行うたびにファイルをビンに再デプロイしていました。最後に、_bin_deployableAssemblies からもそれらを削除する必要があることがわかりました。それは私のためにそれを修正しました。