2

C# ASP Web サイトを C# ASP Web アプリケーションに移動しました。これを行ったのは、ビルド前イベントの追加などを実行できるようにするためです。

App_Code フォルダーの .cs ファイルで宣言した一部の名前空間が認識されないことを除いて、すべてがほぼ正しく機能しているようです。

次のようなビルドエラーが発生します

The type or namespace name 'nsAppGlobal' could not be found (are you missing a using directive or an assembly reference?)

この名前空間を明確に宣言する .cs ファイルがあります。何らかの理由で、Intellisense とコンパイラの両方がそれを認識できません。

名前空間を dll ライブラリに構築し、それをWeb アプリケーションに含めることで、この問題を解決できると聞いています。これはばかげているように聞こえますが、そのコードをどのように編集すればよいのでしょうか。別のプロジェクトで編集して、dll を再構築する必要がありますか?

誰かがこの問題に遭遇しましたか? Web アプリケーション プロジェクトで名前空間を使用するための最善の戦略は何ですか?

4

2 に答える 2

3

Web サイトを Web アプリケーションに移行するときにも、この動作に気付きました。App_Code ディレクトリは、その「魔法の」名前のために無視されているようです。

解決策は簡単で、App_Code ディレクトリの名前を変更するだけです。

于 2012-11-20T17:30:03.463 に答える
2

Web サイトを Web アプリケーションに変換すると、Global.asax 名前空間が破損することがあります。Global.asax.cs には正しい名前空間がありますが、Global.asax にはありません。

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

既定では、Global.asax を開くと、関連する C# ファイルが開きます。マークアップを表示したい。属性 " Inherits " が Global.asax.cs 名前空間と一致していることを確認してください。

于 2012-11-20T17:17:57.573 に答える