Почему VS 2010 работает на .NET 3.5 НЕ МОЖЕТ распознавать тип в коде, показанном ниже внутри файла Global.asax - PullRequest
0 голосов
/ 22 декабря 2011

Код C #:

private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(global_asax));

Конечно, необходимая сборка (dll) log4net уже включена в проект, и это видно на любых страницах, кроме страницы GLOBAL.asax.Я действительно ценю помощь по этому вопросу.Я предполагаю, что мне придется изменить некоторые настройки в моей установке VS 2010.

частичный глобальный код файла:

<% @ Import Namespace = "MRDDWV2.Common"%><% @ Application Language = "C #"%>

private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(global_asax));


void Application_Start(object sender, EventArgs e)
{

    Project.Core.NHibernate.Support.ConnectionStringManager.Instance.SetEnvironment(System.Environment.MachineName);
    string log4NetConfigFile = (string)System.Configuration.ConfigurationManager.AppSettings["Log4NetConfigFile"];
   log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath(log4NetConfigFile)));
}

1 Ответ

0 голосов
/ 24 декабря 2011

Трудно понять, что происходит, глядя только на частичный файл.Но я рискну предположить, что, поскольку класс 'global_asax' не определен в папке App_Code, класс недоступен для справки (по соображениям безопасности) на страницах aspx.

Тем не менее ваша проблема легкорешается с помощью строки вместо typeof (...)

private static readonly log4net.ILog Log = log4net.LogManager.GetLogger("global_asax");
...