【问题标题】:IntelliSense complains about missing Microsoft.AspNetCore packages despite being there尽管在那里,IntelliSense 仍抱怨缺少 Microsoft.AspNetCore 包
【发布时间】:2019-04-24 15:01:29
【问题描述】:

在我的 Blazor 应用程序中,在客户端,IntelliSense 抱怨很多 Microsoft.AspNetCore 包,尽管项目编译和运行良好。

我得到了很多类似的东西

The type or namespace name 'Mvc' does not exist in the namespace 'Microsoft.AspNetCore' (are you missing an assembly reference?)    
The type or namespace name 'Razor' does not exist in the namespace 'Microsoft.AspNetCore' (are you missing an assembly reference?)  
...

类似的东西

@inject HttpClient Http

也用红色波浪线下划线。

项目构建和运行完美。

这里有什么问题?

跟进 1

因为我被要求提供所有版本:

  • Visual Studio 2019, 16.0.2
  • Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview4-19216-03
  • 在我的项目中:
Id                                  Versions                                 ProjectName                                                                                
--                                  --------                                 -----------                                                                                
Microsoft.AspNetCore.Blazor.Build   {3.0.0-preview4-19216-03}                MyBlazorApp.Client                                                                          
Microsoft.AspNetCore.Blazor         {3.0.0-preview4-19216-03}                MyBlazorApp.Client                                                                          
NETStandard.Library                 {2.0.3}                                  MyBlazorApp.Client           

【问题讨论】:

  • 缓存。 1)清理解决方案,2)关闭VS,3)删除bin/obj文件夹,4)重新打开VS
  • 这没有帮助。错误再次出现。
  • 发布所有软件包版本、VS 版本以及 Blazor 工具版本(如果仍然适用)。
  • 您使用的是 VS2019 还是 VS2019 预览版? (差别很大)
  • @HenkHolterman 我刚刚添加了客户端包中引用的版本

标签: c# asp.net-core blazor


【解决方案1】:

您需要 Visual Studio Preview 版本 16.1 或更高版本才能使用 3.0.0-preview4 Blazor。

如果仅此一项没有帮助,请确认您的客户端项目中没有任何 .cshtml 文件 - 自 3.0.0-preview4 起,它们都具有 .razor 扩展名。 .cshtml 文件的存在会触发不同的 SDK 行为,需要 AspNetCore.Mvc 命名空间。尽管微软人认为它是一个错误,并且可能会修复它。 https://github.com/aspnet/AspNetCore/issues/9640

【讨论】:

  • 我没有cshtml 文件,但我会等到 16.1 预览版结束,直到现在我对 IntelliSense 持保留态度,正如我所说,我对 C++ 也有类似的问题/CLI 项目,习惯了。
  • 我不知道 cshtml 是否有所作为,但我确实在非预览版 VS 中看到了相同的 IntelliSense 问题。
  • @rabejens - 您可以(并且可能应该为 Blazor)并排安装预览版。
【解决方案2】:

关闭VS

删除 .vs 文件夹或 .suo 文件

重启VS

【讨论】:

  • 我已经多次这样做了,但是一旦我构建项目并重新打开文件,错误就会再次出现。
  • @rabejens 您是否尝试过重建。还是删除 obj 和 bin 文件夹并重新构建?
  • 是的,该行中的所有操作都无济于事。
  • @rabejens 通常这应该清除智能感知缓存。但您也可以尝试删除提到的文件夹并重新启动窗口。可能有点过分,但有时会有所帮助:)
  • 我关闭了 VS,做了一个 git clean -fdx 删除了所有这些文件夹,然后重新打开了 VS,没有任何帮助。我只是对 IntelliSense 持保留态度,我在使用 C++/CLI 访问第三方本机 DLL 时遇到了类似的问题,而且我也已经习惯了。
【解决方案3】:

卸载 x86 版本的 .NET Core 3.0 Preview SDK https://dotnet.microsoft.com/download/dotnet-core/3.0

然后在 Windows10 64 位上再次安装 x64 为我解决了这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多