PreApplicationStartMethodAttribute для сборки «XX» не может быть разрешен - PullRequest
0 голосов
/ 29 января 2020

Я следую учебному пособию и не могу понять, что я сделал неправильно. Идея состоит в том, чтобы создать PreApplicationStartMethod с помощью метода Register.

Я создаю проект библиотеки классов (модули) и изменяю класс следующим образом:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;

[assembly: PreApplicationStartMethod(typeof(Modules.LogModule), "Register")]

namespace Modules
{
    public class LogModule : IHttpModule
    {
        public void Dispose()
        {
            Debug.Write("Dispose ran");
        }

        public void Init(HttpApplication context)
        {
            Debug.Write("Init ran");
        }
    }
}

В обычном MVC 5 проект построен в VS 2013, под Global.asax у меня есть

public class MvcApplication : System.Web.HttpApplication
{
    public static void Register()
    {
        HttpApplication.RegisterModule(typeof(Modules.LogModule));
    }

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }
}

, но я получаю ошибку

Метод, указанный в модулях PreApplicationStartMethodAttribute на сборке, Версия = 1.0 .0.0, Культура = нейтральная, PublicKeyToken = null 'не может быть разрешена. Тип: 'Modules.LogModule', MethodName: 'Регистрация'. Убедитесь, что типом является publi c, а метод publi c и stati c (Shared в Visual Basi c).

Я видел несколько статей, но они у меня нет точно такой же проблемы, и другие решения, кажется, начинаются до определенного события, однако я не могу достичь какого-либо события.

...