【问题标题】:System could not be found Visual Studio 2017 ASP.NET Core project找不到系统 Visual Studio 2017 ASP.NET Core 项目
【发布时间】:2022-05-18 14:54:02
【问题描述】:

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

开箱即用,我得到了

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

错误。知道是什么原因造成的以及如何解决吗?

此外,NuGet 包似乎也存在问题:

我还通过命令行在项目上尝试了 dotnet restore 并得到以下错误:

附:在最新版本的 Visual Studio 2017 的新项目中遇到错误,这有点令人沮丧!

更新: SDK 版本是 v 1.0.1 - 见下文:

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

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

【问题讨论】:

  • 抱歉忽略了。您在依赖项下看到 SDK 吗?如果不是这样,请尝试将 <PackageReference Include="NETStandard.Library" Version="1.6.1" /> 添加到您的 csproj。
  • 我正要发布一个答案,只是说我终于关闭了 VS 2017 并重新打开它,这为我解决了问题,但后来我看到了你的更新 #3。有时你只需要回到故障排除的基础:)。我在那场比赛中损失了大约 20 分钟。我想当我来回切换 GitHub 分支时,VS 2017 简直吓坏了。
  • Do not post images of code or errors! 图片和屏幕截图可以很好地添加到帖子中,但请确保帖子在没有它们的情况下仍然清晰且有用。如果您发布代码或错误消息的图像,请确保您也复制并粘贴或直接在帖子中输入实际代码/消息。

标签: asp.net-core .net-core visual-studio-2017


【解决方案1】:

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

【讨论】:

  • 哈哈喜欢。也为我工作。有时答案真的是关掉再打开!
  • 在 VS2019 中也是如此。这不是让 VS 打开一分钟左右就会过去的事情。可能需要一些毅力。就我而言:关闭 VS,重新打开,关闭,去吃饭,重新打开 VS。
【解决方案2】:

今天遇到了同样的问题。我有一个不再存在的旧 nuget 源。所以我进入工具 > Nuget 数据包管理器并取消选中错误的。点击“确定”,然后重建项目,现在效果很好。似乎您偶然发现了它,但也想验证它是否解决了我的问题,并且确实如此。

【讨论】:

  • 对我来说也有类似的问题,如果有人遇到此问题,请检查包管理器的输出。对我来说,这是给予和错误。修复了它并解决了问题。
  • 这里有同样的问题。有一个旧的 myget 源并删除它解决了所有构建错误。
  • 我必须删除除 nuget 之外的所有来源,然后一次将它们添加回来以找到罪魁祸首。但这最终是解决办法。 +1
【解决方案3】:

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

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

然后重新构建解决方案 - 它找到并加载了所有必需的包并运行正常。

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

【讨论】:

  • 我也遇到了同样的问题,但这是一个类库项目。即使从头开始创建一个新项目,SDK 依赖项也丢失了,清理 NuGet 缓存也很有效!
  • 清除缓存也是我的解决方案。
  • 我的问题略有不同,因为我 [stackoverflow.com/questions/45279504/…](无法添加控制器)- 只是抛出了错误消息,但是更改设置以允许自动下载有助于解决此问题。跨度>
  • 启用 NuGet 包还原对我有用。手动运行它表示一切都是最新的,尽管 SDK deps 树项旁边有一个黄色警告图标。可悲的是,dotnet restore 似乎也不起作用。
【解决方案4】:

多次关闭和重新打开 VS2017 为我修复了它。

【讨论】:

  • 今天遇到了同样的问题,你的建议有帮助:)
  • 我还必须清洁溶液两次。
  • Multiple closing and reopening of VS2017 一些自动魔法......!谢谢女士
  • 在几分钟内中断了三次重启(我此时搜索了错误:))帮助了我。重新启动后一切正常 - 我能够构建我的 WPF 项目(无需更改任何内容)。如果对某人有用,则无需重新启动 PC。
【解决方案5】:

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

【讨论】:

    【解决方案6】:

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

    【讨论】:

    • 我的SDK版本是1.0.1。我用屏幕截图更新了原始帖子
    • 这真的很奇怪——请参阅原始帖子下的更新 2。项目运行,但如果我打开 Startup.cs 文件,我会看到各种红色波浪线。
    • 我遇到了同样的问题。我是这样决定的: 1.我删除了dotnet文件夹并安装了最新版本。 2.然后通过VS Installer修复VS。之后一切都对我有用。对不起我的英语。
    • 当我遇到这个问题时,依赖项中缺少 SDK 项。当我重命名一个项目时,它就开始了。所以我创建了一个空的 Core Console 应用程序。如果我使用默认名称创建它,我就有了 SDK。如果我提供了名称,则没有 SDK。很奇怪。这个答案似乎已经解决了。
    【解决方案7】:

    我在使用 Visual Studio 2019 和 .NET Core SDK 2.2 时遇到了同样的问题。

    这些步骤解决了问题:

    1. 关闭 Visual Studio
    2. 以管理员身份打开 Visual Studio
    3. 打开解决方案
    4. 右键单击解决方案 -> 还原 NuGet 包

    【讨论】:

      【解决方案8】:

      我已经尝试了以上所有答案。对我来说,仅在以下步骤中描述删除并再次添加引用

      1. 打开项目下的“参考”。
      2. 右键单击“系统”参考。
      3. 点击“删除”。
      4. 右键单击“参考”。
      5. 点击“添加参考...”。
      6. 从右侧菜单中选择“程序集”,
      7. 在搜索字段中输入“系统”。
      8. 从列表中选择“系统”。
      9. 点击“添加”按钮。
      10. 重要提示:重新启动 Visual Studio。

      “系统”参考可以替换为任何你需要的。

      【讨论】:

        【解决方案9】:

        找到损坏的项目并右键单击,卸载,右键单击,重新加载。对我来说最快的修复。

        如果您在使用 CLI 时遇到问题,请尝试使用 nuget restore 而不是 dotnet restore,因为这有时会拉下 dotnet CLI 似乎遗漏的包。

        【讨论】:

        • 这对我有帮助。补充一下,我的项目正在成功构建。但在错误列表中显示错误。我卸载、重新加载和重建。
        【解决方案10】:

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

        <Reference Include="netstandard" />

        【讨论】:

          【解决方案11】:

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

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

          【讨论】:

            【解决方案12】:

            这个问题似乎是由多种原因引发的。我是由使用 Git Bash 直接从 VSTS 克隆造成的,我的项目目录中有空格。 Git Bash 将路径中的这些空格更改为 %20。它抛弃了我项目中的所有引用。因此,对于任何尝试过其他所有方法并束手无策的人,请确保 %20 不在路上。

            【讨论】:

              【解决方案13】:

              所以,我从 github 克隆了存储库并开始收到此错误。

              这是我从另一台机器上传的项目。后来我意识到我在我的项目中使用了材料设计包。

              我已经卸载并重新安装了这些软件包,它解决了我的问题。

              【讨论】:

                【解决方案14】:

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

                【讨论】:

                  【解决方案15】:

                  我也遇到了同样的问题。 Dependencies 下没有 SDK 文件夹。因此,没有 Microsoft.NetCore.App 库!

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

                  SDK会同时恢复。

                  恢复后,您可以卸载之前添加的 nuget。 SDK 将保持不变。

                  【讨论】:

                    【解决方案16】:

                    不太确定与 2017 年尝试解析软件包的顺序。 但我的情况如下。在我的 VS2015 中,我为 nuget 包配置了本地和第 3 方源,新安装的 2017 版本也加载了它们。

                    https://api.nuget.org/v3/index.json 在列表中排名第一。

                    但是 vs2017 抛出了一个错误,它无法从我的另一个本地存储库中恢复 .net 核心库。

                    https://api.nuget.org/v3/index.json外,我都取消勾选后,它已经开始正常工作了。

                    【讨论】:

                      【解决方案17】:

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

                      【讨论】:

                        【解决方案18】:

                        只需打开 NuGet 包管理器,然后打开与之相关的 Visual Studio 设置 - 无需更改任何内容 - 只是环顾四周,当我关闭时,问题就消失了。

                        这似乎是一个断断续续的问题,可能没有明显的原因来来去去。

                        【讨论】:

                          【解决方案19】:

                          这里没有一个答案对我有用,所以我发布了有效的方法。 我的错误与原始海报大致相同,但我也有:

                          加载“Microsoft.Extensions.FileProviders.Embedded.2.0.1”的元数据时出错 十六进制值 0x1C 无效字符

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

                          找不到类型或命名空间系统


                          什么对我有用:

                          1. 打开错误表示错误元数据所在的文件路径,对我来说是 C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.fileproviders.embedded\2.0.1
                          2. 然后,我将该文件夹的内容放入另一个名为“hiding”的文件夹中。
                          3. 然后,我回到nuget包管理器,尝试安装一个包,希望能恢复SDK。 IOt 成功运行,我的所有其他错误也都消失了,新项目运行正常!

                          【讨论】:

                            【解决方案20】:

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

                            【讨论】:

                              【解决方案21】:

                              当我在 VS2019 中创建一个新项目 (.net Core 2.2) 时,我遇到了同样的问题。在我的例子中,有一个 Azure 包正在创建问题。我卸载了它,项目开始正常工作。 运行下面提到的命令来卸载包。

                              卸载-Package Microsoft.VisualStudio.Azure.Containers.Tools.Targets -Version 1.7.10

                              【讨论】:

                                【解决方案22】:

                                我遇到了同样的问题。我克隆了一个 github 项目,出现了这个错误。所以我删除了克隆的项目,然后我再次克隆了项目,它工作正常。

                                【讨论】:

                                  猜你喜欢
                                  • 1970-01-01
                                  • 2017-04-02
                                  • 2018-12-04
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 2017-09-16
                                  • 1970-01-01
                                  • 2018-05-18
                                  相关资源
                                  最近更新 更多