web-dev-qa-db-ja.com

パーサーエラーメッセージ:タイプ 'sometype'をロードできませんでした

現在しばらく解決できないエラーが発生しています。私は誰かがこのエラーの原因を特定するのを助けることができるかどうか疑問に思っていましたか?私はasp/asaxがまったく初めてです。いくつかの調査の後、私が得るエラーは、Webアプリケーションが古いコードを使用しようとしているためだと思います。 Visual Studioやプロジェクト全体を使用してc#ファイルを再構築することを考えていました。ただし、私はC#とASPを初めて使用するので、これで問題が解決する可能性がある場合、および/または可能な代替解決策がある場合は、いくつかの提案を行うことができます。

エラーメッセージ

Parser Error Message: Could not load type 'Inventory1.Global'.

Source Error:   <%@ Application Codebehind="Global.asax.cs" Inherits="Inventory1.Global" %>

全体 Global.asaxの内容:

<%@ Application Codebehind="Global.asax.cs" Inherits="Inventory1.Global" %>
24
AnchovyLegend

CodeBehindCodeFileに置き換えてみてください

34

タイプを読み込めませんでした

タイプをロードできなかったことを意味します。 (この場合、「タイプ」はInventory1.Globalを指します)。型はコンパイル済みDLLにあります。そのため、DLLが利用できないか、古いか、指定された名前のpublicタイプが含まれていません。

考えられる原因は次のとおりです。

  • 指定された名前で宣言された型はありません。たとえば、次のものが必要です。
namespace Inventory1 {
  public class Global {
  ...
  }
}

NoteInventory1などの名前は避けてください。彼らはInventory2Inventory3などがあることを暗示していますが、これは彼らがa慢であまり説明的ではないので悪い習慣です。また、Globalはかなりあいまいであり、 global namespaceと混同される可能性があります。

  • ケースが一致することを確認してください(Inventory1ではなく、INVENTORY1)。
  • プロジェクトをコンパイルしていません。 VSで、ソリューションを再構築します。
  • クラスを宣言するアセンブリにはコンパイルエラーがあるため、関連するDLLが見つからないか、最新ではありません。すべてのエラーを解決したことを確認してください。
  • クラスはpublicとしてマークされていません。

推測しなければならない場合は、コンパイルエラーにお金をかけることになります。 PHPおよび他のインタープリター言語とは異なり、C#は使用する前に正常にコンパイルする必要があります。

9
3Dave

私はこのエラーがありました、ただプロジェクトを再構築するために必要でした

5
user1752532

私はこの問題に直面し、 here から解決策を得ました。それを共有したいと思います。

[〜#〜] solution [〜#〜]binフォルダーを空にします。すべての依存クラスライブラリをビルドし、メインプロジェクトでそれらを参照して、完全なソリューションをビルドします。

私はこれをしました、そして、それは私にとって魅力のように働きました!!

4

これはIISexpressでのみ発生していたため、出力をbin\Debug \からbin \に変更すると解決しました。タグCodeBehindをCodeFileに変更すると、さらに多くの問題が発生します。

3
Micael

これを引き起こしている可能性があるものを探し回った後、プロジェクトを実行するために必要ないくつかのことを見つけました...

(注:これらのすべてを行う必要はないかもしれません-それはケースバイケースです)

  • IIS ExpressからLocal IISに変更した場合、ビルド構成をbin/debugからbinに変更する必要がある場合があります。 (ソリューション>>プロパティ>>ビルド>>出力を右クリック)

  • URLの書き換えがある場合は、 ローカルIISのURL書き換え をインストールする必要があります。

  • applicationhosts.configファイル(通常はC:\Users\username\Documents\IISExpress\configのような場所)に移動し、ファイルの名前をapplicationhostsOLD.configに変更します。

  • プロジェクトをクリーンにして再構築します。ビンを手動で空にする必要がある場合があります。

これで準備完了です。

2
maxshuty

これは私のローカルマシンで私に起こりました。この問題は、IISExpresの構成が正しくありませんでした。ローカル環境でこの問題が発生している場合(Visual Studioのデバッグ実行)、IIS Express構成ファイル。ローカルサイト/アプリケーションパスが正しい場所を指していることを確認してください。

構成ファイルの名前はapplicationhost.config。ここに保存されます:My Documents> IIS Express> config。通常(常にではない)次のパスのいずれかが機能します:

  • %userprofile%\ documents\iisexpress\config\applicationhost.config
  • %userprofile%\ my documents\iisexpress\config\applicationhost.config
1
zwooter

Dllアセンブリで必要なファイルが見つかりません。プロジェクトを再構築し、ソリューションを再構築してから再試行してください。

1
Md Shahriar

上記のすべてのソリューションを試しましたが、どれも機能しませんでした。最終的に新しいWebページ(webform)を作成し、古いブロックからすべてのコード(csおよびaspxファイル)をコピーし、古いcsおよびaspxファイルを削除し、再コンパイルして、ビジネスに戻りました。私はそれが意味をなさないことを知っています。それは問題ではないはずでしたが、うまくいきました。

0
SteveFerg

今日このエラーが出ました。それは、プロジェクトファイルを誤ってページをもう含まない古いバージョンに戻したためであることがわかりました。

0
costa

私のプロジェクト/ソリューションをサーバーに再構築/再公開しても何の助けにもなりませんでしたが、この苦境から多くの人を助けることはできないと思います。私にとって、これをトラブルシューティングするためにいくつかのことをして、最終的にこの「穴」から抜け出しました。

私はWebサイトでバインディングを使用しようとしていましたが、これは機能していませんでした。パーサーを取得したときに、http://localhost/Report.aspx(これは私のホームページで、Default.aspxを呼び出さないことを選択しました-後で名前で[既定のドキュメント]セクションを更新します)でサイトを呼び出してみましたOPが見たエラー。だから私はいくつかのことを試しました:

古いプロジェクトのWebサイトを停止し、ページに「hello」とラベルがあり、他には何もない、別の単純なWebプロジェクトを作成しました。 Page_Loadに行があり、ラベルのTextプロパティに「world!」を入力し、その部分が機能していることを確認しました。ポート80で新しいWebサイトを作成し、サイトの公開コンテンツをサーバーに転送しました。したがって、サーバーに.NET 4.5をインストールし(4.0ディレクトリからaspnet_regiis -iコマンドを実行した)、IISこの新しいプロジェクトで使用していたアプリケーションプール4.0に設定すると、ブラウザーは、Visual Studio 2015のデフォルトフレームワークであるtargetFramework=4.5.2を含むweb.configについて不平を言いました。そのため、.NET 4.6(NDP46-KB3045557-x86-x64-AllOS-ENU.exeをインストールしました)、サーバーを再起動してから、単純なサイトが機能したので、このサイトを削除しました-私がしたかったのは、インストール手順が正確で、サーバーがサイトを実行できることを証明することだけでした。

そこで、元のプロジェクト/サイトに戻りました-Webサイトを削除して再作成しました。このために最初に作成したアプリケーションプールにアプリケーションプールを配置しました。これを行ったら、自分のサイトに移動し、http://localhost/Report.aspxを使用したときにすべてが機能しました。だから、これが原因は、使用している.NET Frameworkのバージョンです。

0
vapcguy

パーサーエラーメッセージ:タイプをロードできませんでした_ _

上記のコメントで提案されているすべての処理を運よく行った後、/ binの内容をサーバーに更新(アップロード)しました。 binにアップロードされるファイルは、dll、pdb、およびxmlです。誰がそれをしたのか分からない。

ソリューションエクスプローラーでファイル(_。aspx)の名前を変更すると、ここで問題が発生しました。

0
Neil

すべての場所で名前空間とクラス名を確認してください。あるケースでは、あるチームメンバーが名前空間を変更し、.aspxファイルで古い名前空間を使用していました。問題を引き起こしていました。名前空間を更新し、機能しました。

0
Sanjay Sharma

名前を変更した可能性があります。 Global.asax.csファイルでクラス宣言を確認し、名前空間とクラス名が正確に asaxファイルにあるものと一致することを確認します。これにはケースが含まれます!比較できるように、.csファイルの名前空間とクラス宣言をここに投稿にコピー/貼り付けできますか?

0
DiskJunky

プロジェクトをプロジェクト/ソリューションとして開いてみてください。ほとんどの場合、エラーが解決します。このタイプのエラータイプをロードできませんでした...プロジェクトをWebサイトとして開こうとすると発生します。

プロジェクトを解決策として開こうとしましたが、問題は解決しました。

0

Base Projectで名前空間を修正していましたが、その後、それを参照する別のプロジェクトでこのエラーが発生し始めました。基本プロジェクトへの参照を削除し、再度追加する必要がありました。その後、再び機能し始めました。

0
OJisBad

Aspxページの名前を変更した後も同じ問題が発生しました。VisualStudioは名前を変更しましたが、名前空間を削除しました。 Inheritsプロパティに、名前空間を含む完全修飾名が含まれていることを確認してください。

0
Mark Redman