2015-10-21 182 views
15

在Visual Studio 2015 Professional中打開項目時,我在所有視圖(* .cshtml)中出現以下錯誤(以及更多)。無法找到類型或名稱空間名稱'System'

錯誤CS0246類型或命名空間名稱「系統」找不到(是否缺少using指令或程序集引用?) 嚴重性代碼說明項目文件行

錯誤CS0518預定義類型「系統.Object」沒有定義或導入 嚴重性代碼說明項目文件行

錯誤CS0518預定義類型‘System.String’沒有定義或導入

我得到了這些引用:

<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" /> 

我找到了一些解決方案,說一個mscorlib中沒有提及..但是,當我嘗試添加它,它sayd它已經存在(儘管我不在csproj文件上看不到它)。

System.dll中參考:

enter image description here

enter image description here

SOLUTION:

管理的問題。我不得不設置爲「C構建路徑:... \ bin「而不是」\ bin「。我相信這是因爲我沒有任何web.config項目的根目錄,所以VS沒有將我的項目標識爲Web項目。

+0

沒有工作.... –

+0

沒有什麼奇怪的。你的觀點中有沒有使用條款?如果沒有,你可能不必,我敢打賭,你可以通過Views web.config隱式添加它...看到這個問題http://stackoverflow.com/questions/12547641/how-do-i-avoid-adding-using -in-MY-CSHTML標籤 –

+0

的問題不僅與使用條款..這也是當我嘗試做@Html,請查看更新的問題 –

回答

2

我試圖重新創建您的問題,並提出了一個類似的錯誤,當在Visual Studio 2013中創建解決方案,然後嘗試在vs 2015中構建它。一旦重新安裝NuGet,我就能夠獲得成功的構建包管理器(並關閉 - >重新開放VS 2015)。

參考文獻/信用。有幾個SO問題與通過VS 2015的NPM的早期版本構建問題有關(也就是說,我只是將我嘗試過的和解決的問題傳遞給他人)。重複的解決方案通常是更新/重新安裝NPM或更改電源外殼中的執行策略。我傾向於喜歡更新+重新啓動的方法,以避免修補windows中的黑盒子。一個來源:https://stackoverflow.com/a/32251092/1158842也可能存在MSBuild集成解決方案的問題,在這種情況下,從解決方案中的nuget資源遷移可能會發揮其作用。 from:https://stackoverflow.com/a/31811461/1158842

19

當我試圖從互聯網上編輯一個開源項目時,我有更早的問題。

解決它只是清洗解決方案,並重建它。

希望這會有所幫助。

+0

這有效解決我的問題之一,但另一個需要VS在清洗後重新啓動。 – monty

+0

哈哈哈當你花了半個小時試圖安裝.NET標準,而它似乎你已經擁有了一切。謝謝 – CularBytes

1

遵循以下步驟:

  1. 右擊解決方案>還原的NuGet包
  2. 右擊解決方案>清理解決方案
  3. 右擊解決方案>生成解決方案
  4. 關閉Visual Studio和重-打開。

這就是全部。

5

清潔解決方案爲我工作。

我也建議關閉並重新啓動Visual Studio中一次這樣做。

+0

乾淨的解決方案,重新啓動visual studio和生成解決方案...這工作,謝謝 – WASIF

+0

當你關閉VS你需要保持你的XAML和CS窗口打開。 – pollaris

-1

如果清潔解決方案沒有工作,任何人誰看的這個問題,並嘗試移動項目或重命名。

打開包管理器控制檯,輸入「DOTNET恢復」。

相關問題