Śledzę ten artykuł na RazorGenerator i mówi, że muszę dodać odniesienia do:
System.Web.Helpers.dll
System.Web.WebPages.dll
System.Web.Razor.dll
Jedyne, co widzę, kiedy to robię, Add Reference
to System.Web.Razor
, ale nie wiem, gdzie są inni.
Śledzę ten artykuł na RazorGenerator i mówi, że muszę dodać odniesienia do:
System.Web.Helpers.dll
System.Web.WebPages.dll
System.Web.Razor.dll
Jedyne, co widzę, kiedy to robię, Add Reference
to System.Web.Razor
, ale nie wiem, gdzie są inni.
Odpowiedzi:
Te zestawy znajdziesz w grupie Rozszerzenia w obszarze Zestawy w programie Visual Studio 2010, 2012 i 2013 (Menedżer odniesień)
Microsoft.AspNet.WebPages
(co jest zależne od tego, Microsoft.AspNet.Razor
co jest również potrzebne w przypadku niektórych z tych przestrzeni nazw).
Jeśli chodzi o VS2017, nie znalazłem go w "rozszerzeniach", jest pakiet Nuget o nazwie " microsoft-web-helpers ", który wydaje się być odpowiednikiem System.Web.Helpers.
Miałem ten sam problem, najpierw nie mogłem znaleźć tych dlls
na liście .NET components
. ale później doszedłem do wniosku, że rozwiązaniem jest:
1- Najpierw zmieniłem target framework
z .NET framework 4 client profile
na .NET framework 4
.
2- następnie przewinąć listę .NET components
, przechodzą pierwszą listę z system.web.
.., przewiń w dół i znaleźć drugą listę z system.web.
.. na dole, oni tam.
Mam nadzieję, że to pomoże innym
W VS 2010 kliknij prawym przyciskiem myszy projekt lub odniesienie i kliknij dodaj odniesienie. W wyskakującym okienku wybierz Assemblies -> Extensions -> System.Web.Helpers
Podsumowując wszystkie opcje dla VS 2017, WebHelpers zostało zainstalowane poprzez zainstalowanie MVC w poprzednich wersjach Visual Studio. Jeśli otrzymujesz ten błąd, prawdopodobnie nie masz już zainstalowanych starszych wersji VS.
Tak więc zainstalowanie Microsoft.AspNet.MVC
pakietu NuGet będzie wymagało Microsoft.AspNet.WebPages
i Microsoft.AspNet.Razor
, a Microsoft.AspNet.WebPages
obejmuje System.Web.Helpers.dll
.
Jeśli masz bezpośrednie odwołania do System.Web.Mvc.dll i nie chcesz używać NuGet dla MVC, możesz pobrać Microsoft.AspNet.WebPages
NuGet lub istnieją inne pakiety NuGet, które zawierają tylko System.Web.Helpers.dll
, takie jak microsoft-web-helpers
lub System-Web-Helpers.dll
.
Wygląda na to, że istnieją dwie wersje System.Web.Helpers.dll
, jedna dla .Net 4.0 i jedna dla 4.5. Wybranie właściwej wersji MVC lub AspNet.WebPages zapewni Ci właściwą.
Zainstalowanie ASP.NET MVC3 stąd powinno pomóc.
W VS2017 zainstalowałem pakiet NuGet: Microsoft.AspNet.WebPages
To załatwiło sprawę.
Powinny znajdować się pod C:\Program Files\Microsoft ASP.Net
(lub C:\Program Files (x86)\Microsoft ASP.Net
jeśli korzystasz z 64-bitowego systemu operacyjnego) w podfolderze dla MVC3 lub stron internetowych.
Problemem jest brakująca lub nieaktualna wersja MVC. Korzystałem z VS 2015Preview i mogłem rozwiązać problem, instalując najnowszą wersję MVC za pośrednictwem NuGet.
Na wypadek, gdyby ktoś jeszcze się z tym spotkał.
Ten konkretny pakiet NuGet ma zwyczaj tracić odwołania w jednym z naszych projektów. Od czasu do czasu będę musiał uruchamiać następujące polecenie w konsoli Menedżera pakietów, aby przywrócić odniesienia i wszystko jest w porządku
Update-Package Microsoft.AspNet.Webpages -reinstall