エラー:«タイプMvcApplicationを読み込めませんでした»


240

エラーが出ます

タイプMvcApplicationをロードできませんでした

私のウェブサイトを実行しようとしたとき。

それを修正するには?


35
ビルドサーバーでこのエラーがランダムに発生しました。手動で再構築することで解決しました。
ザック

1
出力パスは、
ビルドタブの

8
global.asaxファイルを削除して新しいファイルを追加すれば、問題ありません。
DotNetGeek 2013

4
ビルド用のアクティブな構成で新しいプロジェクトが選択されていないことがわかりました。
JGeerWM 2015年

4
最近プロジェクトを追加した場合、またはパブリッシュ構成を最近変更した場合(つまり、AnyCPUからx64に切り替えた場合)は、実行時にプロジェクトがビルドされていない可能性があります。BUILD-> CONFIGURATION MANAGERに移動し、ビルド列のチェックボックスがオンになっていることを確認します。今、この問題が発生しました。アプリケーションを実行すると、ブレークポイントが明確な円になっていることにも気づくでしょう。これは、32ビットを優先するプロセッサアーキテクチャでの.net 4.5.1のデフォルトビルドの結果だと思います。x64をチェックした場合のみの問題
David Bridge

回答:


115

それが聞こえるかもしれないほど愚かで、すべてを試してみましたが、うまくいきませんでした、そしてそれが再び動くことを確認するためにVS2012を再起動しました。


1
LMFAOは、ここで説明されているすべてを試した後も私のために働いて、うまくいきませんでした!ありがとう、+ 1!
Yustme

ここで同じ問題。エラーはマージ後に表示され、VS2012が再起動されるまで消えません。
StuartQ 2014年

1
私にとっては、プロジェクトがコンパイルされていないVisual Studioの2番目のインスタンスがポートを使用していた可能性があります。
クレイレンハート

私のためにも働いた。なんてダンプだ。
PAWAN RAJ Shakya

5年後のVS2017でもこれが解決策です。:/
Sagiv bg

105

-私にとっての修正は、ビルドタブで出力パスを変更することでした。出力パスをに変更するbin\と、エラーはなくなりました。

-別の修正として、起動プロジェクトセットが間違っている可能性があります。


8
これも私たちの問題でした。以前はDebug \ x86 \ binのように設定されていました
t3rse

4
ハ!これは私がこの問題についてこの記事に行った2年間で2回目です。これが最初の回答で、2回目がこの回答でした。
ベンレッシュ

1
ありがとう!これも私を噛みました。一部の警告をクリアするようにプラットフォームを変更しましたが、出力パスが知らないうちに変更されました。
camainc 2013

6
これは私にとって正しい答えでした... Visual Stupidoがこのように動作している理由について何か考えはありますか?
andreapier 2014年

1
うん、これでした。`bin`に変更すると、すべてが期待どおりに機能します。@andreapier:はい、VS2012もこの愚かな振る舞いをするようです。誰かが早急に修正します!:)
今は名前をつけてはならない彼。

82

私は同じエラーが発生し、ここや他の場所で言及されているすべてを実行したにもかかわらず、何も機能しませんでした。別の名前のプロジェクトの以前のバージョンからglobal.asax.csのソースコードをコピーしたことがわかりました。だからそうだったnamespace Testはずnamespace Test.WebUIです。もちろん愚かな間違いで、これを書くのは少し恥ずかしいです!しかし、他の誰かからの同様のエラーが彼にこの些細な側面もチェックするように導くことを期待して書いてください。


ありがとう、Vipul。私は同じことをやったばかりで、結果として多くの仕事を失ったと思いました。名前空間の名前を変更するだけで私のベーコンは救われました
xiecs

2
私はちょうど同じことをしました。Global.asaxをテキストエディターで開き、名前空間の問題を修正しました。ありがとう
Kayvan Karim 2013

6
私はちょうど同じことをしました。他の人のために詳しく説明します。元々、私は自動的に作成された「MvcApplication1」というテストプロジェクトを持っていました。次に、名前空間「MvcApplication」を「MyTest」にグローバル置換しました。メモ帳のGlobal.asaxで、次にInherits = "MyTest.MvcApplication"に変更する必要がありました
PabloInNZ 14年

金を与える方法があったら、私は
シャナバス2015年

53

ソリューションを手動でビルドするだけです。

ローカルIISを使用している場合は、IISマネージャーでWebサイト登録を削除してから、手動で再作成してください。


これは私にとって勝者でした。サイトをリポジトリから削除してiisをセットアップしましたが、IISでビルドを実行したことがありませんでした
Anthony Main

31

【質問から抜粋】

「MvcApplicationタイプをロードできませんでした」というエラーが発生した場合は、プロジェクトの出力パスを調べて、「bin \」に設定されていることを確認してください。問題は、ファイルがデフォルトの場所にない場合、AspNetCompilerがファイルを見つけられないことです。

出力フォルダーを変更するもう1つの副作用は、コードをデバッグできなくなり、アセンブリ情報が見つからないというメッセージが表示されることです。


1
通常、異なるビルド構成間で分離されている場合、これは少し奇妙に見えます。
nicodemus13 2014

デフォルトでは分離されていますが、多くの人がこれらを単一のフォルダに変更して、リリースとデバッグが、出力を参照する別のプロジェクト(インストーラなど)の同じ場所にあるようにします。
StingyJack 14

この問題はIIS Expressに特有なのでしょうか。それだけで私たちの新しいスターターのうちの1つの上にねじ込まれているためとにかく、私はそれを考え出した理由は次のとおりです。私は変更のだbinbin\Debugしてbin\Releaseますが、古いファイルは私の中にまだあったbin、私はすべての問題を見ていないので、フォルダ。もちろん、クリーンチェックアウトを行ってビルドした場合、これらのファイルは存在しないので爆破します。
Bart Read

15

私は同じ問題を抱えており、以下の手順で解決しました

  1. プロジェクトのプロパティに移動します
  2. 「ビルド」タブで、出力パスを「bin \」に設定します

1
どうもありがとうございました。ブレークポイントが設定されないという問題を解決しました。
Chris

それが私にとってうまくいきました。自分で発見しましたが、とにかくありがとう。
アレクサンドル

やばい!これは1日を節約します。
SKE

14

ああ、これは面倒だった。

停電後にこのエラーが発生し、プロジェクトに戻りました。

VSを再起動してみました。出力パスを\ binに設定してみました。名前空間を確認しました。

しかし、私にとってうまくいったのは、ソリューションを再構築することでした。

ソリューションを再構築!!!


13

私の解決策:問題を作成したため!Global.asax.csの名前空間を変更しました

Global.asaxのInherits属性値も変更する必要があります。


3
私もこの問題を抱えていました。Visual Studioがマークアップの継承属性の名前空間とクラスをリファクタリングしたいと思います。
csharpforevermore

こっちも一緒。名前空間の名前を変更する場合は、shift-alt-F10を押すか、右クリックして名前を変更すると、すべてのインスタンスが更新されます。
Rob

これは私にとってはうまくいきましたが、ソリューションを実装する場所を見つけるのは困難でした。Visual StudioエディターでGlobal.asaxをダブルクリックすると、実際には.asaxファイルの背後にあるコードであるGlobal.asax.csファイルが表示されるため、Global.asaxファイルにアクセスするために「すべて検索」を実行しました。.cs拡張子に注意してください。したがって:CTRL-Fを押してGlobal.asax(.csなし)を検索し、継承を変更してネームスペースに一致させます。
GerardV 2016

9

global.asaxで提供されるコードビハインド情報を確認してください。コードビハインドでクラスを正しく指す必要があります。

global.asaxのサンプル:

<%@ Application Codebehind="Global.asax.cs" Inherits="MyApplicationNamespace.MyMvcApplication" Language="C#" %>

背後にあるサンプルコード:

   namespace MyApplicationNamespace
    {
        public class MyMvcApplication : System.Web.HttpApplication
        {
            protected void Application_Start( )
            {
                AreaRegistration.RegisterAllAreas( );
                FilterConfig.RegisterGlobalFilters( GlobalFilters.Filters );
                RouteConfig.RegisterRoutes( RouteTable.Routes );
                BundleConfig.RegisterBundles( BundleTable.Bundles );
            }
        }
    }

7
  1. 失敗しているソリューション内のプロジェクトを右クリックます
  2. プロジェクトをアンロード
  3. プロジェクトを再読み込み
  4. プロジェクトを構築する
  5. ソリューションを再構築

5

これは、IIS Expressが同じポート割り当てを使用して古い/異なるプロジェクトをホストしている/ホストしている場合、Visual Studioでプロジェクトを実行しているときにも発生する可能性があります。

これを修正するには、このプロジェクトのポート割り当てを変更するか、IIS Expressを閉じます。


5

IIS Expressでホストしていて、プロジェクトを2つの異なる場所で開いている場合、このエラーが表示されることがあります。

解決策は、に移動してProject/Properties/Web/ServersをクリックすることCreate Virtual Directoryです。


4

私にとっての解決策は、Mvcプロジェクトを右クリックし、プロパティを選択して、[仮想ディレクトリの作成]をクリックすることでした。

プロジェクトが間違ったフォルダーにマップされたことを示すメッセージボックスがポップアップしました(別のTFSプロジェクトのフォルダーが表示されました。正しいフォルダーにマップするオプションが表示されました。


1
ヒントをありがとう、私の原因は最近tfsを再配置したことです。アプリを機能させるために、ソリューションフォルダーのマッピングを解除して再度マッピングする必要がありました。
adhie 2015年

4

私はすでに持っていました bin/ビルドタブにありました。プロジェクトの別のコピーからglobal.asaxを取得しましたが、うまくいきませんでした。

最終的に私のために働いた解決策は、bin/フォルダーを削除して、同じ名前で新しい空のフォルダーを作成することでした。


1
これは質問に対する答えを提供しません。批評したり、作者に説明を求めたりするには、投稿の下にコメントを残します。自分の投稿にはいつでもコメントできます。十分な評判得られれ、どの投稿にもコメントできます。
JLRishe 2014

@brasofilo私は間違った電話をした可能性がありますが、元の質問の情報が大幅に不足していることを考えると、これはOPの問題の修正ではない可能性が高く、この回答はコメントとして追加できるほど短いです。一方、元の質問はかなり前に投稿されたもので、「これでうまくいった」という答えがたくさんあるので、難しい質問です。この質問とその回答は、いくつかのクリーンアップが必要な場合があります。
JLRishe 2014

@JLRishe、ええと、ええ、それは質疑応答の混乱です。この回答は、2番目に賛成されている回答と重複している場合もありますが、よくわかりません。Qに最低10repのロックを要求するフラグを立てます。
ブラソフィロ2014

4

これについてはすでに多くの解決策があることは知っていますが、何がそれを解決したのかを述べようと思います。

私の構成はデバッグに設定されました。それをリリースに変更するのは私にとってはトリックでした。


2
それをリリースに変更して動作しました...デバッグに戻して動作し続けました...ありがとう。
Paul Zahra、2015

3

コンパイル時のエラーがいくつかあるにもかかわらずプロジェクトを実行していたため、このエラーが発生しました。これは気づかなかった。


ブリーピーブリープエラーリストはそれが幸せであると言ったので気づかなかった!!!! ありがとうございました。
CindyH 2016


3

私はこれに陥りました。私は以前に与えられたすべての可能な解決策を読んでテストしました。ビルドパスの確認、IISとVS2015のビルド、再ビルド、クリーンアップ、再起動、すべてのnugetパッケージの再インストール、1つずつのコンパイルなど...

VSがシステムフォルダーにASP一時ファイルを保持していることを突然思い出しました...結局、それを悪化させることはないので、試してみる必要があると思います。だから私は空にした:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files

そして、すべてが再び機能しています...この問題に考えられるさまざまな解決策があることは奇妙です...


3

これは過去10年間に何度も見たことがあります。同じエラーが発生する多くの問題があります。

1つの原因は、ファイルの名前の変更です。.cshtmlファイルを使用している場合は、それらのファイル内およびViews \ web.configファイル内のすべての名前空間を確認してください。Webフォームの場合、Default.aspxの名前を変更します(関連する.csおよびデザイナファイルの名前は自動的に変更されます)。分離コードは変更されますが、マークアップのInherits行は変更されません。手動で変更してください。デザイナーページを再確認してください。時々(VS2005-8?)デザイナーページに名前空間の変更が反映されない場合があります。2010年以降、これを見たことはありません。

もう1つの問題は、すべてがVSまたはローカルPCで機能するが、展開時に機能しない場合です。これは、展開環境が同じように構成されていないことが原因である可能性があります。たとえば、アプリケーションフォルダーの下の仮想ディレクトリにコードを配置するとエラーが発生しますが、新しいアプリケーションフォルダーを作成してそこにすべてのファイルを配置すると、エラーは発生しません。私はこれを理解していません。新しい子/仮想フォルダーに同じアクセス許可が設定されているため(または私はそう思います)、アプリケーションプールは特定のアプリケーションフォルダー内のすべてに対して同じように機能するはずです。

私の場合、IISサーバー上の他のアセンブリから更新されるアセンブリを含むbinフォルダーもありました。繰り返しますが、これらが別のアプリケーションフォルダーで実行されることを確認すると、成功しました。

HTH


2

動的にコンパイルされるファイル(ascx、aspxなど)を保存するたびにこの問題が発生します。約8〜10秒待ってから消えます。それは地獄のように迷惑です。

それはおそらくIIS Expressの問題だと思ったので、組み込みの開発サーバーで試してみましたが、ファイルを保存した後もまだ受信しています。私はMVCアプリを実行しています。T4MVCも使用しています。それが要因かもしれません...


2

Visual Studioの開発環境でこの苛立たしいエラーが発生しましたが、その理由は非常に愚かでした。つまり、ソリューションに複数のWebプロジェクト/サイトがある場合:Webサイトにアクセスしようとしているポートが、[プロジェクトのプロパティ]-> [Web]で構成されているものと同じであることを確認してください。

私の場合、ソリューションのプロジェクトに別のポートが割り当てられているときに、別のポートを使用して(ブラウザーで)Webサイトにアクセスしていたため、エラーが発生しました。もう少し詳しく説明すると、ソリューションに2つのWebサイトプロジェクトがありました。そのため、私はWebsite1を構築していましたが、locahost:8101を使用してWebサイトにアクセスしようとしていました。

ようやく問題に気付いたので、@ StingyJackのコメントも同様の問題を扱っていることがわかります。



2

私は再びこのエラーに遭遇し、上記のどれも私にとってはうまくいきませんでした。.csprojファイルから次のノードを削除する必要がありました<VisualStudio>....</VisualStudio>。VSをリロードして動作しました。

ちなみに、VSはノードを再作成できた後、IISで(VSを介して)Webサイトを再作成し、完全に機能しました。

うまくいけば、これは誰かを助けるでしょう。


1

必ず次のようなMVCプロジェクト開く必要はありませんことを確認[ファイル] - > [開く]のWebサイトの使用[ファイル] - > [プロジェクトを開く代わりに。


1

うまくいったのは、Visual Studioを再起動することでした。

手動で再構築し、クリーンアップと再構築を実行して、binフォルダーをすべて削除しても機能しませんでした。出力パスはすでにbinに設定されています\


ソリューションレベルの再構築を行いましたが、プロジェクトのbinフォルダーが空であることに気付きました。プロジェクトだけでビルドを行ったところ、突然binフォルダーが作成されました。私はプロジェクトを立ち上げ、それはうまくいきました。
MrBoJangles

1

名前空間を変更した場合は、右クリックしてリファクタリングしてください。


1

名前空間を変更すると、これが頻繁に発生する可能性があります。名前空間の名前を以前と同じように返します。これで機能するはずです。


1

状況によっては、作成した新しいプロジェクトがデフォルトでビルドするように設定されていない場合があります。ソリューションを右クリックした場合はProperties、を選択し、Configuration Properties| を選択します。Configuration左側のノードをクリックし、プロジェクトの下にチェックマークがあることを確認しますBuild列の。通常の状況では、これはデフォルトで発生することがわかりました。他の状況(私はたまたまこの動作を示すいくらか複雑なWeb API / Xamarin AndroidおよびiOS / Mvc 5ソリューションを持っています)には、チェックマークがありません。

これは他の回答に関連しています-Webプロジェクトのアセンブリが利用できない場合、このエラーが発生します。しかし、これは一般的なシナリオである可能性があります。特に、実際にソリューションをコンパイルしているためです。プロジェクトはビルドされません。


1

私のバージョン管理がbinフォルダーを無視するように設定されているため、このエラーが発生しました。非常に愚かですが、おそらく他の誰かが恩恵を受けるでしょう。


1
binフォルダーや、objなどのビルド済みでソースコードの一部ではないものを無視したくないですか。
MrBoJangles

通常、そうです。しかし、この特定のサイトでは、アイテムをサーバーにプッシュする唯一の方法でした。私はおそらく私の答えをより一般的なものにすべきでした。
ブレントワゴナー2016

私はそのような特別な状況のものを完全に取得します。
MrBoJangles

1

私はこの非常に問題に遭遇し、あらゆる種類の答えが見られますが、何も受け入れられていません。私は少し後に、実行する前に単にウェブサイトを構築するだけで問題が解決したことを発見しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.