web-dev-qa-db-ja.com

マイナー変更後のGlobal.asax解析エラーおよび以前のバージョンに戻す

コンテキスト内のプロジェクトは次のとおりです。

  • ASP .NET Webアプリケーション
  • .NET Framework:4
  • プラットフォームターゲット:x86
  • IDE:Visual Studio 2010 Ultimate SP1
  • ソリューションの複数のプロジェクトASP .NETがスタートアッププロジェクトです。

それは昨日までグリッチなしで何ヶ月も生産されています。 [Global.asax]ファイルをクリーンアップ(未使用のusingステートメントを削除、リファクタリングなど)して、ソリューションを実行し、次のエラーを取得しました。

説明:この要求を処理するために必要なリソースの解析中にエラーが発生しました。以下の特定の解析エラーの詳細を確認し、ソースファイルを適切に変更してください。
パーサーエラーメッセージ:タイプ「CloudTech.ATS.WebClient.Global」をロードできませんでした。
ソースファイル: /global.asax 行: 1
ソースエラー: 1行目:<%@ Application CodeBehind="Global.asax.cs" Inherits="CloudTech.ATS.WebClient.Global" Language="C#" %>

Error snapshot

これがGlobal.asax Markup:です。

<%@ Application CodeBehind="Global.asax.cs" Inherits="CloudTech.ATS.WebClient.Global" Language="C#" %>

これがGlobal.asax.cs Codeです(内部コードは削除されています):

using System;
using System.Linq;

namespace CloudTech.ATS.WebClient
{
    public class Global: System.Web.HttpApplication
    {
    }
}

このエラーにしばらく取り組んだ後、私はコンピュータを検索して再起動し、ソリューションを完全にクリーンアップしました。強制的に再構築しましたが、何もできませんでした。イライラして、ようやくWebアプリケーションのターゲットのみを「Any CPU」に変更しましたが、機能しました。残念ながら、「すべてのCPU」は、当面の問題に対するオプションまたは解決策ではありません。 「x86」に戻すと、同じエラーが発生します。これは一度だけ発生し、それ以降、ターゲットプラットフォームまたはデバッグ/リリース構成の組み合わせは機能しなくなりました(同じエラー)。

さらに:

  • 私の開発マシンはすべてx64です。
  • ソリューションをチェックインし、複数の同僚が自分のマシン(x86とx64の両方)でテストしたところ、同じ結果が得られました。
  • プロジェクト全体を3日前からクリーンな状態に復元しましたが、エラーは引き続き発生します!
  • Web.configファイル、またはソリューション内の他のファイルに変更が加えられていないことを確認しました。

最後に、私の開発システムに対する唯一の変更は、Windowsの更新(定期的なセキュリティ更新)であり、更新のないシステムで解決策を試しても同じ結果が得られました。

任意の助けいただければ幸いです。

14
Raheel Khan

ソリューションをクリーンアップしてアセンブリを削除しても、後続のビルドに違いはありませんでした。私の解決策は、Webアプリのプロジェクト設定の出力パスを(bin/x86/Debugではなく)Binに変更することでした。

ソース:- "タイプ[名前空間] .Globalをロードできませんでした"と悲しみ

21
Sain Pradeep

ここでも同様の問題がありました。

iDEを閉じるだけでした。もう一度開き、ビルドして実行します。

かなりイライラして混乱しています。

9
AceMark

通常のASP.NET Webアプリケーションのソリューションフォルダーには2つのファイルがあります。

  1. Global.asax
  2. Global.asax.cs

Global.asax.csのそのクラスを確認します。

namespace YourWebAppNamespace
{
  public class MvcApplication : HttpApplication
  {
     ...

Global.asaxで同じ/正しい名前を持っている:

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

Global.asax.csファイルでクラス名を手動で変更したときにこれで問題が発生したため、結果としてあなたと同じエラーが発生し、私の観点からは、より有益なはずです。この質問にはすでに回答済みですが、私の場合は誰かに役立つかもしれません。

5
ivamax9
  • メモ帳を使用してGlobal.asaxファイルを編集し、Webアプリの名前空間から確実に継承されるようにします
  • プロジェクトのプロパティで、そのアセンブリ名とデフォルトの名前空間を確認します
  • 古いアセンブリをbinディレクトリから削除します(古いプロジェクトアセンブリは問題を引き起こす可能性があります!)

    幸運を!

4
GoAntonio