2

重複したビルドでエラーが発生するため、CSファイルをApp_Dataフォルダーから移動しました。コンパイル時に1つ、実行時に1つビルドするため、そのフォルダーから移動するように指示されました。

2つのファイル、Default.aspx.cs

namespace CrystalTech
{
    public partial class newVersion_Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            LoginInitialiser loginData = new LoginInitialiser();
            loginData.loadData();
        }
    }
}

そしてSecurity.cs

namespace CrystalTech
{
    // Handles all our login logic
    public class LoginInitialiser
    {
        public bool isLoggedIn { get; private set; }

        public LoginInitialiser()
        {
            this.isLoggedIn = false;
        }

        // Fetches the users data
        public void loadData()
        {
            if (HttpContext.Current.Session["loggedIn"] != null)
            {
                this.isLoggedIn = (bool)HttpContext.Current.Session["loggedIn"];
            }

            // Fetch the data if we are logged in
            if (this.isLoggedIn)
            {

            }
            // Otherwise redirect
            else
            {
                HttpContext.Current.Response.Redirect("../logins/index.asp?action=dn&r=" + CommonFunctions.GetCurrentPageName());
            }
        }
    }

    // Holds users information
    public class User
    {
        public int ID { get; private set; }
        public string username { get; private set; }
        public Company company { get; private set; }
        public string title { get; private set; }
        public string forenames { get; private set; }
        public string surnames { get; private set; }
        public string email { get; private set; }
    }

    // Holds company information
    public class Company
    {
        public int ID { get; private set; }
        public string name { get; private set; }
        public string telephone { get; private set; }
    }
}

Default.aspx.csがスローする理由:

タイプまたは名前空間の名前'LoginInitialiser'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)

4

3 に答える 3

3

クラスをApp_Code以外の場所に配置する場合は、ソリューションに「クラスライブラリ」プロジェクトを追加し、そのクラスをそこに配置します。Webプロジェクトでそのプロジェクトを参照することを忘れないでください。

于 2011-01-26T12:46:19.690 に答える
1

App_Codeディレクトリ内のコードのみがコンパイルされます-したがって、ファイルがそこ(またはサブディレクトリ)にない限り、それらは取得されません

そして、重複ビルドとはどういう意味ですか?プロジェクトの設定に応じて、実際のビルドは、サイトへの最初のアクセスまたはコンパイル自体のいずれかによってトリガーできます。半々行うことも可能です。(ビルド/公開)の事前準備と最初のサイト訪問での実際のコンパイル

于 2011-01-26T12:43:15.307 に答える
0

コードファイル(aspxファイルに関連するものを除く)は、コンパイルを確実にするためにのみフォルダーに配置されます(これは、ASP.netによって課せられた要件であり、コメントから、プロジェクトでApp_Codeはなくプロジェクトのみであることがわかります)。それらが他の場所にある場合、それらはコンパイルされません。確認すると、フォルダ外のコードファイルは見つかりません。web siteweb applicationBuild ActionApp_Code

于 2011-01-26T12:44:24.853 に答える