首页 文章

系统无法找到Visual Studio 2017 ASP.NET核心项目

提问于
浏览
36

我已经安装了新发布的Visual Studio 2017版本,并开始了一个针对.NET Core的全新ASP.NET Core项目 .

开箱即用,我得到了

找不到类型或命名空间名称'System'(您是否缺少using指令或程序集引用?)

错误 . 知道是什么导致了这个以及如何解决它?

enter image description here

此外,看起来NuGet包也存在问题:
enter image description here

我还通过命令行尝试了对项目的dotnet恢复,并得到以下错误:
enter image description here

附:令人沮丧的是,您在最新版本的Visual Studio 2017中的新项目中出现错误!

更新:SDK版本是v 1.0.1 - 见下文:
enter image description here

更新2:这很奇怪 . 看起来原始问题是由于NuGet包源指向Visual Studio 2015文件夹下的文件夹 . 我取消选中它并只留下nuget.org . 有了这个,我的项目似乎已经恢复了所有的包,当我启动项目时,它加载标准的ASP.NET页面 . 但是,如果我打开startup.cs文件,我会在整个地方得到红色的波浪线,但如果我运行该项目,它工作正常 . 这里发生了什么?
enter image description here

更新3:我关闭了项目和VS 2017.然后我重新启动VS 2017并打开项目,现在看起来没问题 . 而且我没有引用.NETStandard库1.6.1,现在一切似乎都运行良好 .

17 回答

  • 3

    这个问题似乎是由无数的原因引发的 . 我是使用Git Bash直接从VSTS克隆造成的,我的项目目录中有空格 . Git Bash将路径中的空格更改为%20 . 它抛弃了我项目中的所有引用 . 因此,对于那些尝试过其他所有事情并且最终处于智慧状态的人来说,请确保%20不在路径中 .

  • 24

    有同样的问题 . 使用nuget包管理器从我的项目中卸载了Application Insights . 我还没看好,我只想要核心和单元测试 . 问题解决了 .

  • 0

    今天遇到了同样的问题 . 我有一个不再存在的古老的nuget来源 . 所以我进入了Tools> Nuget Packet Manager并取消了错误的检查 . 点击“确定”,然后重建项目,现在效果很好 . 看起来你偶然发现它,但也想验证它解决了我的问题,而且确实如此 .

    enter image description here

  • 5

    我在Visual Studio 2017 .Net Core应用程序中遇到了同样的问题 . 我关闭了Visual studio并重新打开修复了所有内容 .

  • 28

    我遇到了同样的问题,首先将VS2015网络核心mvc web项目转换为2017年,然后在2017年尝试创建新的核心Web应用程序时 .

    去工具| NuGet包管理器|包管理器设置 - 选中'允许NuGet下载丢失的包'和'在VS中构建期间自动检查丢失的包',然后点击'清除所有NuGet缓存' .

    然后重新构建解决方案 - 找到并加载所有必需的包并运行OK .

    可能不适用于所有情况但简单且值得一试 .

  • 1

    Multiple 关闭并重新开启VS2017为我修好了 .

  • 17

    检查CMD中的.NET命令行工具版本,只需输入 dotnet --info . 如果版本是 1.0.0 ,则尝试从here安装最新版本的.NET Core SDK .

    enter image description here

  • 0

    我有同样的问题,我的解决方案是清除NuGet缓存 . 工具> NuGet包管理器>包管理器设置>清除所有NuGet缓存

  • 0

    我也有同样的问题 . 在依赖项下没有SDK文件夹 . 因此,没有Microsoft.NetCore.App库!

    要解决此问题,请在Nuget管理器窗口中安装依赖于.NetCoreApp的任何nuget(您可以从Microsoft Visual Studio Offline Packages源安装例如Microsoft.AspNetCore或BundlerMinifier.Core) .

    SDK将同时恢复 .

    一旦它返回,您可以卸载以前添加的nuget . SDK将保留在原位 .

  • 6

    不太清楚2017年试图解决包裹的顺序 . 但我的情况如下 . 在我的VS2015中,我为nuget包配置了本地和第三方源,2017年新安装的版本也加载了它们 .

    https://api.nuget.org/v3/index.json排在首位 .

    但vs2017抛出一个错误,它无法从我的另一个本地仓库恢复.net核心库 .

    在我取消选中除https://api.nuget.org/v3/index.json之外的所有内容之后,它已经开始正常工作了 .

  • 0

    我也有这个问题,但现在不行,这个步骤解决了我的问题:从菜单栏中选择Project - > Properties . 在“项目属性”窗口的“配置属性” - >“常规”下,确保将“公共语言运行时支持”设置为“公共语言运行时支持”(/ clr)

  • 0

    只需打开NuGet包管理器,然后打开与之相关的Visual Studio设置 - 仅仅环顾四周,当我关闭时,问题就消失了 .

    这似乎是一个间歇性的问题,没有明显的原因可以来来去去 .

  • 0

    尝试在csproj文件中的其他引用上方添加以下行

    <Reference Include="netstandard" />

    Reference screenshot

  • 0

    对我来说问题是由我的项目有自定义 IntermediateOutputPath 引起的 . 由于某种原因,如果 project_name.csproj.nuget.g.targets 不在项目文件夹的 obj 子文件夹中,则会发生错误 .

    使用默认 IntermediateOutputPath 或在假 obj 文件夹中保留 project_name.csproj.nuget.g.targets 的卷影副本可以解决我的问题 .

  • 0

    这里没有任何答案对我有用,所以我发布了什么工作 . 我的错误大多与原始海报相同,但我也有:

    Error loading meta data for 'Microsoft.Extensions.FileProviders.Embedded.2.0.1' hexadecimal value 0x1C invalid character

    每次我尝试下载不同的nuget包或恢复旧包时,我都会看到此错误 . 我还看到了其他错误,例如:

    type or namespace system could not be found


    什么对我有用:

    • 打开了错误说错误元数据所在的文件路径,对我来说是C:\ Program Files \ dotnet \ sdk \ NuGetFallbackFolder \ microsoft.extensions.fileproviders.embedded \ 2.0.1

    • 然后,我将该文件夹的内容放入另一个名为"hiding"的文件夹中 .

    • 然后,我回到nuget包管理器并尝试安装包,希望恢复SDK . IOt工作成功,我的所有其他错误都消失了,新的新项目应该运行!

  • 0

    当我使用单独的用户以管理员身份运行Visual Studio时,我遇到了问题 - 我在普通帐户的用户文档中创建了一个包含源文件的Git Repo . 当我在该文件夹中创建新解决方案时,发生了上述错误 . 尝试在其他位置创建项目,看看是否仍然出现错误 .

  • 0

    找到损坏的项目并右键单击,卸载,右键单击,重新加载 . 最快的解决方案 .

    如果您在使用CLI时遇到问题,请尝试执行 nuget restore 而不是 dotnet restore ,因为有时会删除dotnet CLI似乎错过的软件包 .

相关问题