C# 类型或命名空间名称';系统&x27;找不到

C# 类型或命名空间名称';系统&x27;找不到,c#,asp.net-mvc-5,visual-studio-2015,.net-4.5,C#,Asp.net Mvc 5,Visual Studio 2015,.net 4.5,在Visual Studio 2015 Professional中打开项目时,我的所有视图(*.cshtml)中都存在以下错误(以及更多错误) 错误CS0246找不到类型或命名空间名称“System”(是否缺少using指令或程序集引用?) 严重性代码说明项目文件行 错误CS0518未定义或导入预定义类型“System.Object” 严重性代码说明项目文件行 错误CS0518未定义或导入预定义类型“System.String” 我得到了这些证明: <ItemGroup> <R

在Visual Studio 2015 Professional中打开项目时,我的所有视图(*.cshtml)中都存在以下错误(以及更多错误)

错误CS0246找不到类型或命名空间名称“System”(是否缺少using指令或程序集引用?) 严重性代码说明项目文件行

错误CS0518未定义或导入预定义类型“System.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" />

假的
N:\XXX\Sitecore.Kernel.dll
N:\XXX\Sitecore.Mvc.dll
假的
N:\XXX\System.Web.Helpers.dll
假的
N:\XXX\System.Web.Mvc.dll
N:\XXX\System.Web.Providers.dll
假的
N:\XXX\System.Web.Razor.dll
假的
N:\XXX\System.Web.WebPages.dll
假的
N:\XXX\System.Web.WebPages.Deployment.dll
假的
N:\XXX\System.Web.WebPages.Razor.dll

我发现一些解决方案说mscorlib没有被引用。。但是当我试图添加它时,它说它已经存在了(尽管我在csproj文件中没有看到它)

System.dll参考:

解决方案:


解决了这个问题。。我将生成路径设置为“c:…\bin”,而不是“\bin”。我相信这是因为我在项目的根目录中没有任何web.config,所以VS没有将我的项目标识为web项目。

我试图重新创建您的问题,并在visual studio 2013中创建解决方案时遇到类似错误,然后在VS 2015中尝试构建它

在重新安装NuGet Package Manager(并关闭,然后重新打开VS 2015)后,我就能够获得成功的构建

推荐信/信用证

与VS 2015早期版本的NPM有关的构建问题有几个SO问题(即,我只是在传递我已经尝试和解决的问题)。经常性解决方案通常是在power shell中更新/重新安装NPM或更改执行策略。我倾向于使用“更新+重新启动”方法来避免修补windows中的黑匣子。一个来源:还可能存在MSBuild集成解决方案的问题,在这种情况下,从解决方案中的NuGet资源迁移就可以做到这一点


来源:

我之前试图从互联网编辑一个开源项目时遇到了同样的问题

只需清洗溶液并重新构建即可解决此问题。

按照以下步骤操作:

  • 右键单击解决方案>恢复NuGet软件包
  • 右键单击解决方案>清洁解决方案
  • 右键单击解决方案>生成解决方案
  • 关闭Visual Studio并重新打开
  • 重建解决方案。如果这些步骤最初不能解决您的问题,请尝试再次重复这些步骤

  • 就这些。

    清洁液对我很有效


    我还建议关闭并重新启动Visual Studio,一旦这样做。

    如果清理解决方案不起作用,对于任何看到这个问题并尝试移动项目或重命名的人来说


    打开软件包管理器控制台并键入“dotnet restore”。

    右键单击项目名称,然后打开属性窗口。 降低目标框架版本,生成解决方案
    然后将您的目标框架版本升级到最新的构建解决方案。

    对于像我这样因为试图在控制台应用程序中托管aspnet.core mvc而来到这里的人: 解决这个问题的唯一方法是将.csproj转换为新格式,并在第一行的项目标记中添加Sdk属性


    我不得不从
    visual studio 2017
    升级到
    2019
    。这里没有其他建议的解决方案对我有帮助,我在这里安装并配置、重新启动了每个解决方案,以及ms站点的许多其他选项


    我的根本原因可能是因为git repository开发者使用2019,我试图将原始git repo克隆到ma 2017。

    卸载项目->重新加载项目通常会修复这个奇怪的、与Nuget相关的错误。

    您可以检查创建和开发系统的框架,然后将当前解决方案的框架更改为旧框架。您可以通过右键单击解决方案,然后选择“属性”来执行此操作。在应用程序部分,您可以更改框架。

    打开项目参考,我在各种软件包上有许多黄色警告三角形。 单击AddReference,这样做似乎让VS刷新它的引用,黄色三角形消失了,代码中的错误也消失了


    如果您的解决方案引用了其他项目,您可能需要在一些项目中执行此操作,请检查目标框架。将目标框架从.NET framework
    4.6.1
    更改为.NET framework
    4.6
    对我很有效。

    为了解决这个问题,我必须从每个文件夹中删除bin和obj文件夹。

    我已经尝试了上面的所有答案。For me仅适用于删除并再次添加引用,如以下步骤所述:

  • 打开项目下的“引用”
  • 右键单击“系统”参考
  • 单击“删除”
  • 右键单击“参考”
  • 单击“添加引用…”
  • 从右菜单中选择一个“程序集”
  • 在搜索字段中键入“系统”
  • 从列表中选择“系统”
  • 单击“添加”按钮
  • 重要提示:重新启动Visual Studio
  • 设法

  • 清洁溶液
  • 重建解决方案

  • 对我来说,这只发生在一个项目中,我尝试了我在网上找到的一切,但似乎没有任何帮助。 我准备删除并重新创建项目,但在搞乱了项目属性之后,将.NETFramework目标从4.7.2更改为4.8,解决了这个问题。后来我把它改回了4.7.2,错误就消失了

    希望这能有所帮助