私は自分のWebプロジェクトをデプロイしようとしていますが、このエラーが発生し続けます:
Line 1: <%@ Application Codebehind=“Global.asax.cs” Inherits=“nadeem.MvcApplication” Language=“C#” %>
私はこの投稿を見ました: Parser Error:Server Error in '/' Application
しかし、私のプロジェクトでは正しいです。
私はiis7構成で何かを疑っています。
何か案は?
Global.asax:
<%@ Application Codebehind="Global.asax.cs" Inherits="tamal.pelecard.biz.MvcApplication" Language="C#" %>
Global.asax.cs:
namespace TamalTest
{
using System;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
public class MvcApplication : HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
}
}
}
解決、Global.asaxの名前を変更するか、削除して問題を修正:/
Webで見つけたその他の既知の関連バグ:
HttpApplication -> public class MvcApplication : HttpApplication
から継承する必要がありますGlobas.asaxファイル(Global.asax.csではなく)を編集することで変更できます。 Windowsエクスプローラーのアプリフォルダーで検索して編集
<%@ Application Codebehind="Global.asax.cs" Inherits="YourAppName.Global" Language="C#" %>
に
<%@ Application Codebehind="Global.asax.cs" Inherits="YourAppName.MvcApplication" Language="C#" %>
クリーンなソリューションが原因で発生する場合があります。ビン内のDLLは削除されます。 1.Clean Solution 2.Solutionをリビルドします。3.ビルドプロセスが失敗した場合、必要なすべてのdllがビンに保存されるわけではありません。これは、エラーが発生する別のシナリオです
とても奇妙です。この問題に直面するたびに、異なる解決策があります。今回は、以前の修正がすべて失敗したため、プロジェクトの出力パスをBinから..\Build\Binに変更しました。失敗しました。出力パスを以前の値に戻しました。つまり、ビンは問題を修正しました。
プロジェクトのネームスペースを変更した場合、問題が発生する可能性があります。
プロジェクトプロパティからネームスペースを変更し、古いネームスペースをすべて新しいものに置き換えます。 名前空間を修正して名前を変更すると、問題が解決する場合があります。
私の場合、ソリューションプラットフォームをAnyCPUからx86に変更することで問題が修正されました。
私の場合、IISのサイトは、私がVisual Studioで実行していたプロジェクトとは異なるプロジェクトを指していました。
ソリューション/プロジェクトの名前を変更した後、私と同僚にこの問題が発生したことがわかりました。
同僚から生じた問題:ブランチに変更を加えて、エラーが発生しました。 binフォルダーで、新しく名前が付けられた.dllファイルと一緒に古い.dllファイルを見つけました。古いものを削除し、問題はなくなりました。
上記のことは私には役に立たなかった。すべてが正しかった。
Visual Studioを閉じて、再度開きます。これで私の場合の問題は修正されました。
この問題は、異なるバージョンのVisual Studioが原因である可能性があります。 Visual Studio 2017と2019があります。両方のバージョンで同時にプロジェクトを開きました。これにより、vsファイルの異なるセットが作成された可能性があります。
Visual Studioのインスタンスを閉じて、再度開きます。
また、このエラーが発生していました。デバッグフォルダーからdllを削除し、デバッグ用の新しいインスタンスを開始したときにこのエラーが発生しました。私にとっては、問題はビルド設定によるものであり、リリースはビルドタイプで選択され、デバッグに変更しただけで、アプリケーションは正常に動作していました
私の場合、古いdllが原因でした。すべてのファイルを消去してから再構築します。
別のシステムからプロジェクトをコピーするときに直面した同じ問題。私の場合、私はこの問題を修正しました:
Binフォルダー内からすべてを削除します。アプリのクリーンと再構築
これが役立つことを願っています。
IIS Expressで同じエラーが発生しました。私の場合は、スタートアッププロジェクトとして2つのプロジェクトがありました。ソリューションを再度実行しましたが、エラーは再び発生しませんでした!
私の場合、名前空間の名前変更後に問題が発生しました。 Re-sharperのような外部ツールは使用せず、手動で名前を変更しました。
そのプロセスでは、Views/Web.configファイルは変更されませんでした。このファイルの古い名前空間名を新しい名前に置き換えた後、エラーは消えました。
私の場合、プロジェクトをコピーして別のプロジェクトとして貼り付けました。 Global.asax
ファイルに間違ったファイル名が含まれているため、変更するだけです
<%@ Application Codebehind="Global.asax.cs"
Inherits="WrongAppname.MvcApplication" Language="C#" %>
に
<%@ Application Codebehind="Global.asax.cs"
Inherits="RightAppName.MvcApplication" Language="C#" %>
Inheritsがクラスの正しい名前空間を指していることを確認してください。これは、ソリューションの下でMVCプロジェクトを作成するときに- Inherits値にはプロジェクト名がありません。したがって、ギャップ(プロジェクト名)を手動で埋める必要があります。
<br><br><%@ Application Codebehind="Global.asax.cs" Inherits="solutionName.projectName.MvcApplication" Language="C#" %>
私は同様のエラーに直面し、上記のすべての提案を試みましたが、解決しませんでした。私のために働いたのはこれです:
Global.asax
ファイルを右クリックし、View Markup
をクリックします。属性Inherits="nadeem.MvcApplication"
が表示されます。これは、Global.asax
ファイルがnadeem.MvcApplication
型から継承しようとしていることを意味します。
Global.asax
ファイルをダブルクリックして、Global.asax.cs
ファイルで指定されているクラス名を確認します。次のようになります。
namespace nadeem
{
public class MvcApplication: System.Web.HttpApplication
{
....
しかし、上記のように見えない場合、そのエラーを受け取ります。Global.asax
ファイルのInherits属性の値は、System.Web.HttpApplication
から派生したタイプと一致する必要があります。
詳細については、以下のリンクを確認してください。
WebAPI(関連するMVC)でも同様の問題があります。
私は修正しました:
「.Global」を.asaxファイル(asax.csではなく)の継承に追加する
Inherits="mynamespace.WebAPI.Global"
パブリッククラス(asax.cs)の変更
public class Global : System.Web.HttpApplication
同じエラーが発生しました。次の手順で解決します
IIS->サイトを見つける->サイトを右クリック-> Webサイトの管理->詳細設定->物理パスが正しいかどうかを確認します。
間違っている場合は、正しいパスを見つけます。これで問題が解決します。
Global.asax
を削除してVisual Studioを再起動すると、問題が修正されました。