2015-10-21 26 views
15

Mam następujące błędy (i więcej) we wszystkich moich widokach (* .cshtml) podczas otwierania mojego projektu w Visual Studio 2015 Professional.Nie można znaleźć typu ani przestrzeni nazw "System".

Błąd CS0246 typu lub obszaru nazw „System” nie można odnaleźć (czy brakuje using dyrektywa lub odwołania do zestawu?) Kod Ciężkość Linia Plik Opis projektu

Błąd CS0518 predefiniowanego typu „system .Object”nie jest zdefiniowane lub importowane Kod Ciężkość Linia Plik Opis projektu

błąd CS0518 typ predefiniowane«System.String»nie jest zdefiniowana lub importowane

mam te nazwy:

<ItemGroup> 
<Reference Include="Microsoft.CSharp" /> 
<Reference Include="Sitecore.Kernel, Version=7.0.0.0, Culture=neutral, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\Sitecore.Kernel.dll</HintPath> 
</Reference> 
<Reference Include="Sitecore.Mvc"> 
    <HintPath>N:\XXX\Sitecore.Mvc.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.DynamicData" /> 
<Reference Include="System.Web.Entity" /> 
<Reference Include="System.Web.ApplicationServices" /> 
<Reference Include="System.ComponentModel.DataAnnotations" /> 
<Reference Include="System" /> 
<Reference Include="System.Data" /> 
<Reference Include="System.Core" /> 
<Reference Include="System.Data.DataSetExtensions" /> 
<Reference Include="System.Web.Extensions" /> 
<Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.Helpers.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.Mvc.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Providers"> 
    <HintPath>N:\XXX\System.Web.Providers.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.Razor.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.WebPages.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.WebPages.Deployment.dll</HintPath> 
</Reference> 
<Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>N:\XXX\System.Web.WebPages.Razor.dll</HintPath> 
</Reference> 
<Reference Include="System.Xml.Linq" /> 
<Reference Include="System.Drawing" /> 
<Reference Include="System.Web" /> 
<Reference Include="System.Xml" /> 
<Reference Include="System.Configuration" /> 
<Reference Include="System.Web.Services" /> 
<Reference Include="System.EnterpriseServices" /> 

znalazłem kilka rozwiązań, mówiąc, że nie odwołuje mscorlib .. ale kiedy próbowałem go dodać to sayd że już tam (choć don nie widać tego na pliku csproj).

System.dll referencyjny:

enter image description here

enter image description here

ROZWIĄZANIE:

Zarządzane problem .. miałem ścieżkę kompilacji ustawiony na „C: ... \ bin "zamiast" \ bin ". Wierzę, że stało się tak, ponieważ nie mam żadnego web.config w katalogu głównym projektu, więc VS nie zidentyfikował mojego projektu jako projektu WWW.

+0

nie działa .... –

+0

nic dziwnego. czy posiadasz klauzulę użycia dla swoich poglądów? jeśli nie, możesz nie musieć, założę się, możesz dodać to niejawnie za pośrednictwem widoków web.config ... zobacz to pytanie http://stackoverflow.com/questions/12547641/how-do-i-avoid-adding-using -in-my-cshtml-tags –

+0

Problem dotyczy nie tylko użycia klauzul. Również kiedy próbuję zrobić @Html, zobacz zaktualizowane pytanie –

Odpowiedz

2

Podjęto próbę ponownego utworzenia problemu i wystąpił podobny błąd, gdy rozwiązanie zostało utworzone w studio graficznym 2013, a następnie próbowałem go zbudować w porównaniu z 2015 r. Udało mi się uzyskać udaną kompilację po ponownym zainstalowaniu NuGet Menedżer pakietów (i zamknięte -> ponownie otwarte VS 2015).

Referencje/kredyt. Jest kilka pytań SO związanych z problemami z budową za pomocą wcześniejszej wersji NPM dla VS 2015 (tj. Po prostu przekazuję to, co próbowałem i wypracowałem). Powtarzająca się rozdzielczość zazwyczaj aktualizuje/ponownie instaluje NPM lub zmienia zasady wykonywania w powłoce zasilania. Podobają mi się metody update + restart, aby uniknąć majstrowania przy czarnych skrzynkach w oknach. jedno źródło: https://stackoverflow.com/a/32251092/1158842 Może również występować problem z rozwiązaniami zintegrowanymi MSBuild, w którym to przypadku migracja z zasobów nuget w rozwiązaniu może załatwić sprawę. from: https://stackoverflow.com/a/31811461/1158842

19

Miałem ten sam problem wcześniej, gdy próbowałem edytować projekt open source z Internetu.

Rozwiązał to po prostu Czyszczenie roztworu i przebudowywanie go.

Mam nadzieję, że to pomoże.

+0

To działało dla jednego z moich rozwiązań, które miały ten problem; ale inny VS wymaga ponownego uruchomienia po czyszczeniu. – monty

+0

Hahaha, gdy spędziłeś pół godziny próbując zainstalować standard .NET, podczas gdy wydaje ci się, że masz już wszystko. Dzięki – CularBytes

1

Wykonaj następujące kroki:

  1. prawym przyciskiem myszy na rozwiązanie> Restore pakiety Nuget
  2. prawym przyciskiem myszy na rozwiązanie> Clean Rozwiązanie
  3. prawym przyciskiem myszy na rozwiązanie> Build Solution
  4. Close Visual Studio i re -otwarty.

To wszystko.

5

Rozwiązania czyszczące sprawdziły się u mnie.

Zalecam również zamknięcie i ponowne uruchomienie programu Visual Studio.

+0

czyste rozwiązanie, uruchom ponownie studio graficzne i zbuduj rozwiązanie ... to zadziałało, dzięki – WASIF

+0

Po zamknięciu VS musisz pozostawić otwarte okna XAML i CS. – pollaris

-1

Jeśli czyszczenie rozwiązanie nie działa i dla każdego, kto widzi to pytanie i próbował przenieść projekt lub zmiana nazwy.

Otwórz konsolę menedżera pakietów i wpisz "przywracanie dotnet".