2012-10-31 15 views
28

Mam zainstalowany vs2012 (11.0.50727.1),
Otworzyłem nową MVC4 with .NET 4.5 rozwiązanie
i stworzyć prosty HomeController i jak chciałem uruchomić go lokalnie, i otrzymali to bardzo dziwny błąd :
Jak rozwiązać problem? Czym jest ten błąd i dlaczego tak się dzieje?Punkt wejścia nie znaleziono wyjątek

Dziękuję z góry za wszelkie Państwa pomoc.

Server Error in '/' Application. 
Entry point was not found. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.EntryPointNotFoundException: Entry point was not found. 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 


[EntryPointNotFoundException: Entry point was not found.] 
    System.Web.Mvc.IDependencyResolver.GetService(Type serviceType) +0 
    System.Web.Mvc.DependencyResolverExtensions.GetService(IDependencyResolver resolver) +56 
    System.Web.Mvc.SingleServiceResolver`1.GetValueFromResolver() +44 
    System.Lazy`1.CreateValue() +180 
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +22 
    System.Lazy`1.get_Value() +10749357 
    System.Web.Mvc.SingleServiceResolver`1.get_Current() +15 
    System.Web.Mvc.MvcRouteHandler.GetSessionStateBehavior(RequestContext requestContext) +121 
    System.Web.Mvc.MvcRouteHandler.GetHttpHandler(RequestContext requestContext) +33 
    System.Web.Mvc.MvcRouteHandler.System.Web.Routing.IRouteHandler.GetHttpHandler(RequestContext requestContext) +10 
    System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase context) +9709656 
    System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(Object sender, EventArgs e) +82 
    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69 


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929 

Odpowiedz

22

Ten sam błąd pojawia się po przełączeniu projektu z MVC3 na MVC4 i zapomnieniu zmiany System.Web.WebPages.Razor, Version=1.0.0.0 na System.Web.WebPages.Razor, Version=2.0.0.0 w pliku web.config.

2

Czy masz coś takiego w swoim Global.asax.cs?

private static void InitializeDependencyInjectionContainer(HttpConfiguration config) 
{ 
    container = new UnityContainer(); 


    container.RegisterType<Site.Web.Data.IDatabaseFactory, Site.Web.Data.DatabaseFactory>(); 
    container.RegisterType<Site.Web.Data.Interfaces.IUnitOfWork, Site.Web.Data.UnitOfWork>(); 
    container.RegisterType<Site.Web.Data.Interfaces.IUserRepository, Site.Web.Data.Repositories.UserRepository>(); 
    container.RegisterType<Site.Web.Data.Interfaces.ISiteRepository, Site.Web.Data.Repositories.SiteRepository>(); 

Od ślad stosu ty pisał System.Web.Mvc.IDependencyResolver.GetService(Type serviceType) +0 sugerowałoby jeden (lub więcej) swojego zależnościami nie rozwiązują.

można spróbować komentując jedną lub więcej z nich na zewnątrz i spróbuj zawęzić których jeden nie udaje się rozwiązać.

+0

Nie, w MVC jest przydzieleniu punktów wejścia DI, że nie o to chodzi. – IamStalker

+0

To wszystko dla mnie, szkoda, że ​​nie wiem, jak go rozwiązać ... –

22

Przekonwertowałem projekt z MVC3+.NET4 na MVC4+.NET4.5 i otrzymuję wyjątek Entry point was not found podczas wywoływania akcji kontrolera.

Moje rozwiązanie było wstawić zespół wiążącą przekierować wewnątrz web.config do punktu, w MVC 4 zespołów:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 

nie znam dokładnej przyczyny problemu, być może niektóre biblioteki strony trzeciej, która wciąż referencje MVC3.

+0

To się stało dla mnie, najwyraźniej SimpleInjector zmusza mnie do zrobienia tego ... –

+1

Jednościowy kontener IoC dla MVC3 (używany w MVC4) również potrzebuje tych wiązań. – hross

+1

To rozwiązanie sprawdziło się. Zaktualizowałem do MVC 4, ale moje wiążące przekierowanie oldVersion nadal wskazywało na 1.0.0.0-2.0.0.0 i newVersion na 3.0.0.0. Mamy nadzieję, że w przyszłości bardziej przydatny komunikat o błędzie będzie wskazywał, że problemem jest wpis konfiguracyjny, zamiast mówić, że nie można znaleźć punktu wejścia. – Irish

3

należy również sprawdzić, czy wszystkie projekty w swoich rozwiązaniach referencyjnych najnowsze wersje dll, i że nie istnieją żadne niespójne wersje są wykorzystywane przez różnych podprojektów.

mimo prowadzenia Nuget odinstaluj, zainstaluj i zaktualizuj znalazłem projekt testów przedstawieniu starą wersję system.net.http

+0

Dzięki! Używałem różnych wersji ... wstydź się na mnie – Apolo

3

Jeśli używasz .NET 4.5 i dodanie spoiwa do kolekcji ModelBinders.Binders od biblioteka .net 4.0 również dostaniesz taki błąd.

5

Jeśli połowu tego błędu w WebAPI Controller - trzeba naprawić wiązania wersja System.Web.Http

<dependentAssembly> 
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> 
</dependentAssembly> 
0

Stary post ale tylko dodać dla każdego, kto szuka

Wydaje się to jak błąd catch all. Dostałem go kiedy mój web.config wykorzystywane sekcję zewnętrzną i że sekcja została wykluczona z projektu Visual Studio, czyli przy użyciu tej

<sessionState configSource="SystemWeb.config" /> 
10

Stary post ale jeśli pojawią się przed MVC nieszczęść (System.Mvc. aktualizacja dll, np. x.0.0.1), można sprawdzić tag bindingRedirect (4.0.0.0 -> 4.0.0.1)

<dependentAssembly> 
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.1" /> 
    </dependentAssembly> 
+0

Naprawiłem to dla mnie ... Musiałem to zrobić podczas aktualizacji z powodu aktualizacji MVC. Dzięki! – derivation

0

Spróbuj .. w visual studio iść do pakietu administratora konsolę i wpisz:

update-package 
0

I w obliczu tego problemu i rozwiązać go przez
1. Odinstaluj-Package Microsoft.AspNet. MVC (muszę odinstalować coś innego zanim mogę odinstalować AspNet.MVC powodzeniem)
2. Install-Package Microsoft.AspNet.Mvc -version 4.0.20710
3. Przebudowa i wdrożyć

0

Nie MVC specyficzne w moim przypadku, ale właśnie rozpoczął się ten błąd:

Server Error in '/' Application.

Entry point was not found.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.EntryPointNotFoundException: Entry point was not found.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[EntryPointNotFoundException: Entry point was not found.]

...

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +8008

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1055.0

Co sprawiło, że było to, że opublikowany w folderze serwera WWW z Visual Studio i wybrany do precompile aplikację (przy użyciu .NET 4.5 projekt), z możliwością wstępnej kompilacji strony z możliwością aktualizacji btw.

Prawdopodobnie mój problem polegał na tym, że witryna działa w .NET 4.0 na IIS, podczas gdy wersja prekompilowana umieszczona w folderze bin podczas akcji publikowania miała wartość 4.5. Kiedy usunąłem folder "bin" ze strony internetowej, znów działa dobrze.

-2

Wystarczy update „System.Web.Mvc” z „Nuget”

Powiązane problemy