Perché mi appare questo errore? “Il nome delle istruzioni riportate o codebase non era valido.”
-
16-10-2019 - |
Domanda
ho creato e implementato l'interfaccia IHttpModule
al fine di utilizzare l'evento Session_Start
in SharePoint 2010 (come global.asax in asp.net). Ho aggiunto il tag add
nel mio file web.config nella sezione modules
(modalità perché io uso integrato) e ho anche schierato il mio DLL di GAC, ma ottengo questo errore:
Il nome dato montaggio o codebase non era valido. (Eccezione da HRESULT: 0x80131047)
Qualcuno sa perché questo sta accadendo?
Soluzione
Il problema era nella mia tag modulo nel file web.config.
Deve essere il nome di assemblaggio completo, non solo il nome della classe.
che in termini di C # può essere il codice Assembly.FullName.
Per esempio io ho una classe che ha recepito IHttpModule in questo modo:
public class StatisticsModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.ReleaseRequestState += context_ReleaseRequestState;
}
public void Dispose()
{ }
}
e questa classe posto in Shakib.Statistics namespace, quindi per questo esempio il tag modulo che dovrebbe essere nella sezione web.config e "moduli", deve essere questo:
<add name="Statistics" type="Shakib.Statistics.StatisticsModule, Shakib.Statistics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4d63664a8351e206" />