【问题标题】:Error CS0234: The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)错误 CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“AspNetCore”(您是否缺少程序集引用?)
【发布时间】:2017-05-01 09:19:17
【问题描述】:

我正在尝试将以下模板项目升级到 ASP.NET Core 1.1: https://github.com/wilanbigay/aspnet-core-aurelia-typescript-starter

运行 dotnet migrate 后,project.json 文件已被删除以支持新的 csproj 文件。

使用 Visual Studio Code 和 Nuget4Code 扩展,我已将所有组件升级到 ASP.NET Core 1.1。

CsProj 现在包含如下条目:

<ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk">
      <Version>1.0.0-alpha-20161104-2</Version>
      <PrivateAssets>All</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.NET.Sdk.Web">
      <Version>1.0.0-alpha-20161104-2</Version>
      <PrivateAssets>All</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.NETCore.App">
      <Version>1.1.0</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.AspNetCore.Mvc">
      <Version>1.1.0</Version>
    </PackageReference>

但是我有编译问题。似乎找不到 AspNetCore 命名空间。我收到了错误

错误 CS0234:名称空间“Microsoft”中不存在类型或命名空间名称“AspNetCore”(您是否缺少程序集引用?)

我不确定如何像以前在 Visual Studio 中的参考资料部分那样检查参考资料。 我该如何解决这个问题?

【问题讨论】:

    标签: asp.net-core asp.net-core-1.1


    【解决方案1】:

    只需添加 Microsoft.AspNetCore.Mvc nuget 包即可为我修复它。

    【讨论】:

      【解决方案2】:

      我刚刚使用 dotnet core 5.0 遇到了这个问题。我的 csproj 看起来像:

      <Project Sdk="Microsoft.NET.Sdk">
      
        <PropertyGroup>
          <TargetFramework>net5.0</TargetFramework>
        </PropertyGroup>
      
      </Project>
      

      但需要看起来像(注意项目元素的 sdk 属性):

      <Project Sdk="Microsoft.NET.Sdk.Web">
      
        <PropertyGroup>
          <TargetFramework>net5.0</TargetFramework>
        </PropertyGroup>
      
      </Project>
      

      【讨论】:

        【解决方案3】:

        将 .NET Core v2.2 项目升级到 v3.1 时出现此错误。具体来说,一个单元测试项目给出了错误,它没有直接使用AspNetCore 包。

        解决方案描述为here,包括修改项目文件以添加&lt;FrameworkReference&gt;标签:

        <Project Sdk="Microsoft.NET.Sdk">
        
          <PropertyGroup>
            <TargetFramework>netcoreapp3.0</TargetFramework>
          </PropertyGroup>
        
          <ItemGroup>
            <FrameworkReference Include="Microsoft.AspNetCore.App" />
          </ItemGroup>
        
        </Project>
        

        【讨论】:

          【解决方案4】:

          添加 NuGet 包 Microsoft.AspNetCore.Mvc.ViewFeatures 为我修复了它

          【讨论】:

            【解决方案5】:

            我也遇到了这个问题,在我的情况下,安装了正确的包并且我所有的 *.csproj 看起来都是正确的,但是我的解决方案中的一个项目仍然给了我这个错误。

            一个普通的dotnet restore 对我没有用。 我不得不像这样强制重新评估所有依赖项:

            dotnet restore --force-evaluate

            来自 dotnet 手册:

            即使锁定文件已经存在,也会强制还原以重新评估所有依赖项。

            几秒钟后,我的编译器不再给我这个错误。

            【讨论】:

              【解决方案6】:

              我在将库从 .NET Standard 2.0 升级到 2.1 或将 .exe 从 .NET Core 2.2 升级到 3.1 时发现了这个问题。

              最好的办法是从头开始重做项目中包含的所有 NuGet。在文本编辑器中打开 .csproj 文件,然后找到该部分

                <ItemGroup>
                  <PackageReference Include="Microsoft.AspNetCore.App" />
                  ...
                </ItemGroup>
              

              全部删除,返回

                <ItemGroup>
                </ItemGroup>
              

              然后重新打开解决方案并重新安装所有且仅安装所需的 NuGet 包。

              这解决了问题,也可以帮助清理任何未使用的包垃圾!

              【讨论】:

                【解决方案7】:

                只需添加 Microsoft.AspNetCore.WebUtilities nuget 包

                【讨论】:

                • 然后我收到此错误“命名空间 AspNetCore 中不存在类型或命名空间 Mvc”
                【解决方案8】:

                我只是没有在 .csproj 文件中引用 Microsoft.AspNetCore.App

                我添加了参考并且它起作用了:

                MyTestProject.csproj

                <Project Sdk="Microsoft.NET.Sdk">
                  ...
                  <ItemGroup>
                    <PackageReference Include="Microsoft.AspNetCore.App" />
                  </ItemGroup>
                  ...
                </Project>
                

                【讨论】:

                • 这解决了我的问题。我使用dotnet new web 创建了项目,也许应该使用dotnet new webapp 将其自动添加到.csproj?
                • 当我双击 .csproj 文件时,它似乎打开了整个项目 - 我将如何编辑 .csproj 文件?你的意思是在文本编辑中打开项目文件?
                • 是的。如果您在视觉工作室中,您可以右键单击项目(在解决方案资源管理器中)并选择编辑项目或卸载项目。如果您不在 Visual Studio 中,请使用 VS Code 或 Notepad++ 打开它,您可以像编辑任何其他文本文件一样对其进行编辑。
                • 修复了问题
                【解决方案9】:

                变化

                <ItemGroup>
                  <Reference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore">
                    <HintPath>..\..\..\..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.identity.entityframeworkcore\2.2.0\lib\netstandard2.0\Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll</HintPath>
                  </Reference>
                </ItemGroup>
                

                <ItemGroup>
                  <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.2.0" />
                </ItemGroup>
                

                解决了@dave-glassborow 回答的问题

                【讨论】:

                  【解决方案10】:

                  我的问题是解决方案中的一个项目没有正确构建,因此解决方案中的其他项目无法引用它。

                  解决方案是更新 Visual Studio(我从版本 15.5.6 更新到版本 15.9.1)。这是Microsoft's VS Downloads page的链接。

                  【讨论】:

                    【解决方案11】:

                    我们刚刚遇到了这个问题,Visual Studio 帮助添加了本地参考,而不是通过 nuget

                    <ItemGroup>
                      <Reference Include="Microsoft.AspNetCore.Mvc.Core">
                        <HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.mvc.core\2.0.0\lib\netstandard2.0\Microsoft.AspNetCore.Mvc.Core.dll</HintPath>
                      </Reference>
                    </ItemGroup>
                    

                    删除它并通过 nuget 引用解决了这个问题,看起来像是 Visual Studio 2017 中的一个问题。

                    【讨论】:

                    • 在我的中,这是缺少的: 完全。我把它加回去了,它起作用了。感谢您为我提供有关在哪里查看的线索。
                    • 我有一些这样的参考资料——似乎它们是作为项目模板的一部分自动添加的?!在 TeamCity 上恢复/构建时只是一个问题。删除这些引用并通过 NuGet 安装它们为我修复了它。
                    • 我刚刚添加了我需要的包,对我来说是
                    【解决方案12】:

                    所以我想我是在引用依赖项,但没有为项目安装它们。

                    我需要做的就是跑 点网恢复

                    https://docs.microsoft.com/en-us/dotnet/articles/core/tools/dotnet-restore

                    如以上链接所述 "恢复项目的依赖和工具。"

                    【讨论】:

                    • 我正在运行 .net core 2,其中应恢复构建 - 我还完成了 nuget 包恢复 - 我仍然收到此错误以及许多其他与身份相关的错误
                    • 我得到“所有软件包都已安装,没有什么可恢复的。”
                    猜你喜欢
                    • 2020-12-17
                    • 2021-08-12
                    • 2020-03-31
                    • 1970-01-01
                    • 2021-06-14
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2018-07-15
                    相关资源
                    最近更新 更多