W ASP.NET MVC 4.5.2 Framework.
po wpisaniu
@Html.LabelFor()
or
@Html.EditorFor()
z uwagi
Pojawia się błąd: typ „Expression <>” jest zdefiniowany w zestawie, do którego nie ma odwołania. Należy dodać odwołanie do zestawu „System.Core, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089”.
Dodałem odwołanie do zestawu System.Core.dll, wersja 4.0.0.0, wersja środowiska wykonawczego v4.0.30319. a także zrobiłem w web.config
asp.net-mvc
asp.net-mvc-5.1
mansoor
źródło
źródło
Odpowiedzi:
Pracowałem w tym samym numerze, co Ty, choć znacznie później. Problem polegał na tym, że nie mogłem uzyskać dostępu do widoków Razor (.cshtml), ponieważ otrzymywałem błąd informujący o braku odwołania do zestawu, a mianowicie
System.Web.Mvc
, mimo że znajdowało się ono w odwołaniach do projektu. Po zbadaniu zauważyłem, że zainstalowana wersja NuGet to 5.2.3, podczas gdy projekt wymagał 5.2.0. Rozwiązaniem jest obniżenie wersji MVC.Potwierdź wszystkie okna dialogowe i jesteś gotowy do pracy.
źródło
Nie jestem pewien, czy nadal masz ten problem, czy nie, ale miałem również ten sam problem.
Udało mi się znaleźć tutaj rozwiązania
/programming/6496223/compilation-error-in-net-4-0-web-config-linq-not-found
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Mam nadzieję, że to pomoże..
źródło
Ten błąd oznacza, że program Visual Studio nie może zlokalizować zestawu System.Web.Mvc, aby zasilić jego inteligencję dla widoków Razor. Do rozwiązania tego problemu może być wymagana jedna lub obie z poniższych czynności.
[root] /Web.config:
<system.web> <compilation targetFramework="4.6" />
Właściwości projektu:
[folder widoków] /web.config:
<system.web.webPages.razor> <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Właściwości odniesienia zespołu MVC:
źródło
źródło
Wypróbowałem większość z nich, co ostatecznie zadziałało, to wyładowanie projektu, edycja pliku csproj i dodanie następujących elementów:
<Reference Include="System.Core" />
https://stackoverflow.com/a/38371981/2335660
źródło
Usunięcie pliku [nazwa projektu ] .csproj.user z katalogu projektu pomogło mi.
źródło
Miałem dokładnie ten sam problem i żadne z rozwiązań nie rozwiązało problemu. Musiałem to dodać do swojego
web.config
wnętrzaSystem.Web
<compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" />
Usunąłem go podczas zmiany niektórych elementów
config
wokół.źródło
W moim przypadku ten komunikat był wyświetlany tylko wtedy, gdy włączony był Resharper. Wyczyściłem pamięć podręczną Resharper, zrestartowałem VS, wyłączyłem Resharper i włączyłem go ponownie. Wiadomość zniknęła.
źródło
Miałem ten sam problem z brakującym montażem i zdarzyło się, że kompilacja VS2017 nie skopiowała go poprawnie do folderu Bin. Te kroki pomogły mi:
z tego komentarza: CS0012: Typ '##### Dowolny typ #####' jest zdefiniowany w zestawie, do którego nie ma odniesienia
źródło
W Web.config musiałem zmienić:
<system.web> <compilation debug="true" targetFramework="4.7">
do
<system.web> <httpRuntime targetFramework="4.7" /> <compilation debug="true" targetFramework="4.7">
źródło
targetFramework
w<httpRuntime>
i<compilation>
tagów. Po prostu zaktualizowanie atrybutu, aby poprawnie odzwierciedlał wersję .NET Framework projektu, naprawiło to za mnie.Sprawdź, czy akcja kompilacji pliku cshtml jest ustawiona na „Zawartość”.
Używam ReSharper i zauważyłem, że z jakiegoś powodu generowany plik ma wartość domyślną „Brak” podczas wywoływania szablonu.
źródło
Dodaj następujące elementy do Web.config (w katalogu głównym). Wypróbowałem absolutnie wszystko z wcześniejszych sugestii i nic nie działało, dopóki nie znalazłem poniższych. Mam nadzieję, że pozwoli to zaoszczędzić czas komuś innemu.
Używam targetFramework = "4.6.1", ale jeśli jest inna, zmień go na używaną wersję.
<system.web> <compilation debug="true" targetFramework="4.6.1" /> <httpRuntime targetFramework="4.6.1" /> </system.web>
źródło
Dodaj ręcznie plik System.Core.dll do folderu bin. Uruchom ponownie VS i skompiluj projekt . Rozwiązany za mnie
Wystąpiły błędy projektowe we wszystkich widokach pomocników @Html i moich siatek Kendo.
Dodanie zestawu System.Core w Web.config nie przyniosło żadnego skutku, ani obniżenia wersji MVC. I błąd podczas próby ręcznego dodania referencji do System.Core:
Upewnij się, że sprawdzasz, czy TargetFramework we właściwościach projektu jest zgodny z tym w projekcie web.config.
Zrzut ekranu folderu bin
źródło
U mnie w menu projektu była opcja „Włącz C # 6.0 / VB 14”. Wybranie tej opcji załatwiło sprawę. Wcześniej próbowałem zmodyfikować plik web.config, zrestartować Visual Studio itp., Jak sugerowano w tym poście.
źródło
Miałem ten sam problem. Zasadniczo problem polega na używaniu innej wersji
System.Web.Mvc
. Więc najlepszą rzeczą, którą powinieneś otworzyćTools > Nuget Package Manager > Manage Nuget Packages for Solution
. Prawdopodobnie widaćSystem.Web.Mvc
naCosolidate
karcie. Upgrade lub downgrade to najlepsza opcja. Jeśli używasz najnowszego frameworka .Net, który jest obecnie.Net 4.6.1
, powinieneś zaktualizować wszystkieSystem.Web.Mvc
wersje do5.2.4.0
. Powodzenia!źródło
Cóż, naprawiłem to, poprawiając odwołanie do zestawu w /Views/web.config , zobacz obrazek:
źródło
usuń katalog bin, .vs i obj. po skompilowaniu projektu w Visual Studio.
źródło
Stało się tak z jednym z moich poglądów - wszystkie inne były w porządku. Zrobiłem co następuje:
źródło
Ponowne uruchomienie Visual Studio zadziałało dla mnie.
źródło
źródło
Spróbuj dodać
using system.Linq.Expressions;
źródło
Ja też miałem ten problem. Zmiana
targetFramework="4.5.2"
natargetFramwork="4.5"
w pliku web.config rozwiązała to.źródło
Jeśli dostaniesz to tylko w jednym lub dwóch plikach CSHTML ... to jest uszkodzony plik.
Zdarzyło mi się to z uszkodzonym plikiem, który zawiera ukryte znaki Unicode. Spróbuj skopiować cały tekst dokumentu do nowej instancji notatnika. Wyczyść zawartość oryginalnego pliku i zapisz ... jeśli długość pliku jest> 0, coś jest nie tak.
Usuń plik i zapisz wystąpienie notatnika w starej wersji. Wszystkie błędy zniknęły za mnie.
W moim rozwiązaniu zdarzyło się to kilka razy. Nie jestem pewien, co to powoduje, ale podejrzewam, że to Resharper spieprzy, gdy zaczyna połykać ogromne kawałki pamięci w otchłań.
Czy jestem jedyną osobą, która łączy miłość / nienawiść z Resharper?
źródło
Może to być spowodowane wieloma projektami w rozwiązaniu, które nie są przeznaczone dla tej samej wersji programu .NET Framework. Na przykład jeśli projekt aplikacji sieci Web jest przeznaczony dla platformy .NET 4.5 i masz odwołanie do zestawu do innego projektu w rozwiązaniu, które jest przeznaczone dla platformy .NET 4.5.2. Aby to naprawić, musisz zmienić swoje projekty tak, aby wszystkie były przeznaczone dla tej samej wersji systemu .NET Framework.
źródło
Jeśli żadna z odpowiedzi nie działa, użyj tej. Miałem ten sam problem! W rzeczywistości plik configuration.cs w folderze migracji zaginął / został usunięty. Usunąłem folder migracji, a także usunąłem tabelę migracji z bazy danych. Następnie w konsoli Menedżera pakietów (PM) użyto następujących poleceń:
Enable-Migrations -Force Add-Migration Initial update-database
Ten proces odtworzył plik configuration.cs i wszystko działało idealnie!
źródło
Sprawdź właściwości projektu, aby uzyskać platformę docelową. Rozwiązałem ten problem w moim projekcie, dopasowując do mojej platformy docelowej .NET framework 4.6.1 MVC 5.2.3 był rozwiązaniem apt. Mam tę wersję MVC z NuGet.
źródło
W moim przypadku rozwiązaniem było przeniesienie ConnectionString wewnątrz Web.Config. Ta instrukcja powinna znajdować się po sekcji AppSettings.
źródło
Zrobiłem WSZYSTKO z powyższego i ostatecznie odkryłem, że tym, co rozwiązuje to dla mnie (w witrynie .NET Framework 4.7.1 z MVC 5.2.4), było dodanie tego do głównego pliku web.config w
<compilation>
-<assemblies> <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> </assemblies>
źródło