4

Server08 で実行 | IIS7. 私は Web サイト プロジェクトを持っており、デプロイされたサイトで過去に何度も Global.asax.cs を手動で編集する習慣があります。最近、Global.asax のみが存在し、次のものしかないことがわかりました。

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

私のアクティブで機能しているWebサイトには、Global.asax.csファイルが存在/表示されていません。

私はここでGlobal.asax can't find code-behind classをチェックしました。ここでは、mvc3 の Global.asax のコードはどこにありますか? どこにも行かずに。2 番目のリンクには、「これはコンパイル済みの Web アプリケーションだからです。Visual Studio でプロジェクトとして表示する必要があります。

しかし、私のプロジェクトは常に Web サイトであり、(意図的に) 変換したわけではないので、変更された動作に困惑しています。

しかし、VS12 に足を踏み入れて、ソリューションの WebProject のコンテキスト メニューを見ると、「Web アプリケーションに変換」が表示されます。サイトのフォルダー構造には、App_Data または App_Start は含まれません。私の考えでは、VS で確立されたこれら 2 つの事実は、プロジェクトを Web サイトとして扱っているのですが、なぜ Global.cs は /bin にコンパイルされるのでしょうか?

繰り返して締めくくります-過去にこれらのものを手動で編集したことがあります-私は肯定的ではありませんが、VS12をインストールした後にそうしようとしたのはこれが初めてだと言うのはおそらく正確です. さらに考えてみると、「ワンクリック パブリッシング」サービスを実装したのはつい最近のことです。

確認?私は…したい完全な再展開を行わずに単純な更新を編集する必要があります。

どうも

4

3 に答える 3

4

「ワンクリックパブリッシング」がここでの犯人である可能性が最も高いと思います。実験用にサンプルの Web サイト プロジェクトを作成しました。Visual Studio で発行機能を使用すると、生成されたファイルに実際に Global.asax.cs ファイルがありません。代わりに、Web アプリケーションではなく Web サイトであっても、"App_global.asax.dll" というコンパイルで bin フォルダーが作成されます。これはあなたにも起こっていることと似ているかもしれないと思います。

そうでない場合は、サーバー上のクラスをもう一度編集できるようにするために役立つリンクを見つけました。特に、2 番目の回答 (最良の回答として受け入れられなかったもの) を見て、グローバル コードのクラス ファイルを再作成してください: Global.asax.cs ファイルはどこにありますか?

私はこの解決策を試し、クラス ファイルがサーバー上で編集可能であり、実行時に動的にコンパイルされることを確認しました (ファイルに加えた変更はすぐに機能しました)。

お役に立てれば!

于 2012-10-04T20:49:55.347 に答える
0

その 1 つのファイルにコードを含む global.asax の Web バージョンをアップロードできる場合があります。これには明らかに .cs コード ビハインドは必要ありません。以前はアプリケーションで aspx ファイルを使用していましたが、GLobal.asax ファイルで試したことはありません。

于 2012-10-05T09:48:26.703 に答える