După semnificative refactorizare în MVC 4 aplicație, și Ras arată această eroare în timp ce depanare Vedere:
numele 'model' nu există în actualul context.
Acest lucru este ofensatoare linie de cod:
@model ICollection<DataSourceByActive>
Știu că utilizarea de `@modelul este corect.
De ce se întâmplă acest lucru? Cum pot repara?
Cred ca ai incurcat web.fișier de configurare care locuiește în Vedere folder.
Creați un nou proiect care vizează același .NET framework și copia acestuia Vizualizări/web.fișierul de configurare pe partea de sus a unul în proiectul curent. Acest lucru va rezolva problema ta.
De asemenea, ca Dudeman3000 comentat, dacă aveți Zone în MVC proiect au toate Opiniile\web.config` fișiere prea.
Asigurați-vă că aveți următoarele atât în site-ul Web.config` si opinii director Web.config " în " appSettings secțiune
<add key="webpages:Version" value="2.0.0.0" />
Pentru MVC5 utilizare:
<add key="webpages:Version" value="3.0.0.0" />
(Și există doar în principalele Web.config file.)
Aici este ceea ce am făcut:
A .fișierul este un fișier ascuns în același folder ca și fișierul .svn soluție de file și conține Visual Studio Opțiuni Utilizator.
Am avut aceeasi problema, am creat un nou proiect și copiate de pe web.config fișiere după cum se recomandă în răspunsul de Gupta, dar asta nu't repara lucrurile pentru mine. Am verificat raspuns de Alex și Liam, am crezut că această linie trebuie să fi fost copiat din nou web.config, dar se pare ca noul proiect în sine n't au această linie (MVC5):
<add key="webpages:Version" value="3.0.0.0" />
Adăugarea liniei de vizualizări/web.config-a rezolvat problema pentru mine.
Schimbarea următoarea linie în web.config de vedere folder rezolvat aceeasi eroare.
Din
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Pentru a
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
În cazul meu, am actualizat recent de la MVC 4 la MVC 5, care greșește web.config destul de grav. Acest articol a ajutat enorm.
Linia de jos este că aveți nevoie pentru a verifica toate numărul de versiune referințe în dvs. de web.config și Vizualizări/web.config pentru a se asigura că acestea sunt corelarea corectă versiunile actualizate asociate cu MVC 5.
Am'am găsit o soluție. Dacă doriți să actualizați ras versiune sau mvc 4 la 5, schimbarea unor linii.
Vechiul cod în Vizualizări/web.config
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
Înlocuit cu
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
sectionGroup
trebuie să se schimbe, de asemenea.
În cazul meu, următorul cod fonduri pentru a fi util. Loc de cod de mai jos în Web.config în Vedere folder.
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
Odată ce codul este actualizat, asigurați-vă că pentru a curăța și reconstrui soluție. Sper că acest lucru vă va ajuta!
Nici unul dintre răspunsuri existente lucrat pentru mine, dar am găsit ce v de lucru pentru mine prin compararea .csproj
de fișiere de diferite proiecte. Următoarele edita manual la .csproj
XML-fișier rezolvat Ras-intellisense problemă pentru mine, poate că acest lucru poate ajuta pe cineva care a încercat toate celelalte răspunsuri la nici un rezultat. Cheia este de a elimina orice cazuri de <Privat>Fals</Private> " în " <Referință>
's:
<ItemGroup>
<Reference Include="Foo">
<Hintpath>path\to\Foo</Hintpath>
<!-- <Private>False</Private> -->
</Reference>
<Reference Include="Bar">
<Hintpath>path\to\Bar</Hintpath>
<!-- <Private>True</Private> -->
</Reference>
</ItemGroup>
Eu nu't știu cum au ajuns acolo sau exact ceea ce fac ei, poate cineva mai deștept decât mine pot adăuga informații. Am fost fericit în cele din urmă să rezolve această problemă.
Pentru un motiv oarecare mea de web.config avut 0.0.0.0 în oldVersion atribut:
<runtime>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
</runtime>
schimbarea la 1.0.0.0 a fost soluția:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
În scopul de a rezolva această am făcut-vă că am actualizat la cele mai noi MVC versiune folosind NuGet și Managerul de pachete Console.
Pachetul De Instalare Microsoft.AspNet.Mvc -Versiunea 5.2.4
Apoi actualizat la cea mai recentă versiune de Ras
Pachetul De Instalare Microsoft.AspNet.Aparat De Ras -Versiunea 3.2.4
Apoi am schimbat tot pe web.fișierele de configurare pentru a reflecta schimbarea. După cum veți vedea mai jos:
În principal web.fișier de configurare, asigurați-vă că paginile web:versiune este corectă. Acest lucru este în cazul în care acesta poate fi găsit (ignora alte taste):
<configuration>
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
</configuration>
Apoi uita-te pentru alte versiuni enumerate în ansambluri, verificați versiunea de asamblare împotriva versiune a bibliotecii enumerate în proiectul dumneavoastră de referințe! Poate nu ai nevoie de toate acestea.
<system.web>
<compilation debug="true" targetFramework="4.6">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
</system.web>
Runtime assemblyBinding ar trebui să arate "newversion" la fel de bine, să vedem unde se citește NewVersion 5.2.4.0? Dar verifica, de asemenea, toate celelalte versiuni.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
APOI, în Vedere Web.Config secțiune, asigurați-vă că Lama este versiunea corectă:
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<configuration>
Și Lastlt există secțiunea Pagini de Vedere Web.Config
<pages
validateRequest="false"
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
Am avut aceeași problemă atunci când implementarea unui Azure Serviciu App
În cazul meu a fost din cauza ~/Vizualizări/Web.config fost't incluse în proiect.
Ea a lucrat în IIS Express, dar când m-am implementat la azure, am primit aceeasi eroare. Nu sunt incluse în .csproj, nu a fost't desfășurată.
Soluția a fost să se asigure ~/Vizualizări/Web.config este inclus în proiect.
Dacă te duci la solution explorer și faceți clic pe "Arată toate fișierele" pictograma, apoi deschide Vederi s-ar putea vedea un neînțeles Web.config acolo.
Adăugați-l în, re-publica, și bob's unchiul tău.
În cazul meu, problema a fost că, după actualizarea proiectului de MVC 4 la MVC 5 am ratat cumva o versiune schimbare în Vizualizări/web.config:
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
Ea a avut încă vechea versiunea 2.0.0.0. După schimbarea versiune a 3.0.0.0 totul a început să lucreze doar dreapta.
De asemenea, din cauza acestei probleme, Visual Studio 2015 Community Edition va începe bashing CPU (30-40% de utilizare la ralanti) de fiecare dată când mi-ar deschide .cshtml.
Pentru mine, problema a fost un conflict .Versiunea NET într-una dintre bibliotecile pe care eu recent importate. Biblioteca am importat a fost compilat pentru 4.5.2 și ASP.NET MVC-ul am importat-o în vizat 4.5. După recompilarea, a spus deputatul pldm pentru 4.5 site-ul ar comppile.
De asemenea, nu au existat erori de compilare, dar problema a fost raportat ca un "atentie". Deci, asigurați-vă că citiți toate avertismentele dacă există orice.
În cazul meu, am fost lipsește @ la începutul foreach
@foreach (var item in Model)
{
<tr class="clickable-row">
<td class="clickable-field">
@Html.DisplayFor(modelItem => item.Label)
</td>
<td class="clickable-field hidden-xs">
@Html.DisplayFor(modelItem => item.Value)
</td>
</tr>
}
Am fost încercarea de a adăuga un punct de vedere care au fost în afara mea "Vedere" folder (doar să-mi organizez cod diferit, cred), când am avut această problemă. Crearea vedere în interiorul punctele de Vedere (prin convenție) a rezolvat-o.
dacă luați această problemă, fără nici o schimbare în proiectul dumneavoastră, ca mine, ai nevoie de a schimba dvs. de web.config care a pus în Vedere Folder. scrie doar nouă linie de a Introduce sau a Elimina o linie goală . apoi salvați dvs. de web.config și reconstrui. mi-a rezolvat problema cu această soluție