почему я не могу использовать файлы кода из app_code в моем коде asp.net c #

Я работаю над веб-приложением asp.net, и у меня есть несколько классов в моем app_code, но по какой-то причине я не могу использовать ни один из них в своем коде. Я пробовал использовать то же пространство имен, я пробовал без пространства имен в обоих файлах, но ничего не помогает.

Это код моей страницы:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using LinkedIn;
using LinkedIn.ServiceEntities;


namespace Authentication
{
    public partial class LinkedinMoreInfo : LinkedinBasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}

И мой код в классе:

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Xml.Linq;

using LinkedIn;

namespace Authorisation
{
    public class LinkedInBasePage : System.Web.UI.Page
    {
        private string AccessToken
        {
            get { return (string)Session["AccessToken"]; }
            set { Session["AccessToken"] = value; }
        }

        private InMemoryTokenManager TokenManager
        {
            get
            {
                var tokenManager = (InMemoryTokenManager)Application["TokenManager"];
                if (tokenManager == null)
                {
                    string consumerKey = ConfigurationManager.AppSettings["LinkedInConsumerKey"];
                    string consumerSecret = ConfigurationManager.AppSettings["LinkedInConsumerSecret"];
                    if (string.IsNullOrEmpty(consumerKey) == false)
                    {
                        tokenManager = new InMemoryTokenManager(consumerKey, consumerSecret);
                        Application["TokenManager"] = tokenManager;
                    }
                }

                return tokenManager;
            }
        }

        protected WebOAuthAuthorization Authorization
        {
            get;
            private set;
        }

        protected override void OnLoad(EventArgs e)
        {
            this.Authorization = new WebOAuthAuthorization(this.TokenManager, this.AccessToken);

            if (!IsPostBack)
            {
                string accessToken = this.Authorization.CompleteAuthorize();
                if (accessToken != null)
                {
                    this.AccessToken = accessToken;

                    Response.Redirect(Request.Path);
                }

                if (AccessToken == null)
                {
                    this.Authorization.BeginAuthorize();
                }
            }

            base.OnLoad(e);
        }
    }
}

Есть идеи, в чем может быть проблема? заранее спасибо


person Laziale    schedule 10.10.2011    source источник
comment
Authentication и Authorisation - это одно и то же пространство имен?   -  person mellamokb    schedule 11.10.2011
comment
Вы убедились, что App_Code включен в проект? И сработает ли это, если вы переместите классы из App_Code в корневой каталог вашего проекта?   -  person James    schedule 11.10.2011
comment
@James Я тоже пробовал, это не сработало, та же ошибка, и да, это включено в проект. mellamokb, я допустил опечатку с "Авторизацией", но попробовал и с "Аутентификацией", я получаю ту же ошибку. ChrisF 'не удалось найти тип или имя пространства имен ...'   -  person Laziale    schedule 11.10.2011


Ответы (2)


Зайдите в свойства файлов и измените Build Action на Compile

person James Johnson    schedule 10.10.2011
comment
Спасибо, Джеймс, ты мужчина. Если у вас есть время, не могли бы вы объяснить, как это изменение устранило мою проблему? Большое спасибо и хорошего дня. - person Laziale; 11.10.2011
comment
Пожалуйста. Установка действия сборки на Compile гарантирует, что файл кода будет скомпилирован в выходные данные сборки. - person James Johnson; 11.10.2011
comment
Я достиг своего лимита голосов, но хорошо подумал, я бы об этом не подумал! Каковы цели других действий сборки? - person James; 11.10.2011
comment
Действия сборки сообщают Visual Studio, что делать с файлом при выполнении сборки. В этой статье подробно описаны различные действия сборки: msdn. microsoft.com/en-us/library/0c6xyb66%28VS.90%29.aspx - person James Johnson; 11.10.2011

Если ваша базовая страница называется LinkedInBasePage, вам необходимо наследовать от LinkedInBasePage вместо LinkedinBasePage

public partial class LinkedinMoreInfo : Authorisation.LinkedInBasePage {

person sonnychiba    schedule 10.10.2011
comment
Я не понимаю, как это решает проблему доступа к файлам в каталоге App_Code. - person James Johnson; 11.10.2011
comment
@sonnychiba Спасибо за вашу помощь, решение, приведенное ниже, устранило мою проблему. Хорошего дня. - person Laziale; 11.10.2011