この問題は完全に悩まされています。いくつかのマスターページを含むASP.NET Webアプリケーションがあります。今朝私は新しいマスターページを追加し、それをASPXに接続しました。しかし、私はエラーでYSODを得続ける:まずマスターページのコードがアセンブリにコンパイルされていません
Parser Error Message: Could not load type 'Blah.UI.Web.WebForms.Master.LoggedIn'.
Source Error:
Line 1: <%@ Master Language="C#"
MasterPageFile="~/WebForms/Master/IFrameContent.Master"
AutoEventWireup="true" CodeBehind="LoggedIn.master.cs"
Inherits="Blah.UI.Web.WebForms.Master.LoggedIn" %>
私はちょうどマスターページディレクティブで何かを間違って綴っただろうが、私はチェックしましたし、ダブルチェックし、それはしていないようだと思いましたそれである。
「タイプをロードできませんでした」ということから、DotPeakを使用して、コードビハインドクラスが実際にアセンブリにコンパイルされていることを確認しました。オリジナルのマスターページはありますが、今朝追加したものはありません。
だから私は何とかそれをどうにかして構築したと思った(私はすでに完全に再構築しようとしていた...しかし、もう一度やり直してもよい)。まだ見つかっていない。
私は、ソースコントロールの以前のバージョンに対するcsprojファイルをチェックし、私は新しいコードがあることがわかります。
<Compile Include="WebForms\Master\LoggedIn.master.cs">
<DependentUpon>LoggedIn.master</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebForms\Master\LoggedIn.master.designer.cs">
<DependentUpon>LoggedIn.master</DependentUpon>
</Compile>
...と後で同じファイルに...
<ItemGroup>
<Content Include="WebForms\Master\LoggedIn.master" />
</ItemGroup>
私は、Visual Studioのプロパティを見ると
の.csファイルは言う:
- ビルドアクション:ちょうど仕事をマスターページ用のCSファイルのようなものです
をコピーしないでください:出力ディレクトリから
私は今完全に困惑しています。なぜ私はこれが働いていないか、または私が何かを見逃してしまったのかどうかを知りません。
UPDATE
私はちょうど私たちのCIサーバが使用して生成アセンブリがクラスの後ろに新しいマスターページのコードが含まれていない同じMSBUILDスクリプトを使用して、コマンドラインでビルドを実行しました。だから、プロジェクトファイルには何の問題もないようです。
次に、Visual Studio出力のファイル日付を確認しました。 Webアプリケーションプロジェクトのアセンブリは2日経っていますが、他のアセンブリは最新です...私は現在、Visual Studioが特定のプロジェクトを適切に構築していない理由を判断しようとしています。チェックするものの追加のアイデアは感謝して受け取ります。
UPDATE 2
Visual Studioが後にすべてのファイルを作成している...それだけで間違ったディレクトリに入れています。 Webアプリケーションのプロジェクトの下で、bin
といくつかはbin/x86/Debug
にいくつかのプロジェクトファイルを入れています。また、いくつかのファイルの日付が異なるため、古いビルドディレクトリのようなものからファイルをコピーしています。
私は問題の一部が、昨日コードベースをクリーンアップしようとするいくつかのコードを分割することに関連していると推測できます。しかし、私は、私はちょうどマスターpageディレクティブで何かを間違って綴っただろうと思って、それは最初に>
おそらく、VSは新しいアセンブリをbinフォルダにコピーできません。出力ウィンドウをチェックして、ファイルがコピーされているかどうかを確認してください。 objフォルダのアセンブリの日付もチェックする必要があります。もう1つの問題は、Webプロジェクトをスキップするソリューション構成(出力ウィンドウは何が起こっているかを教えてくれるはずです)です。 – VinayC