错误CS0234:类型或命名空间名称' AspNetCore'在命名空间中不存在' Microsoft' (你错过了一个程序集引用吗?)

时间:2016-12-15 17:14:36

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

我尝试将以下模板项目升级到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:类型或命名空间名称&#39; AspNetCore&#39;名字节奏中不存在微软&#39; (你错过了一个程序集引用吗?)

我不确定如何在参考部分中查看我曾经能够在Visual Studio中使用的引用。 我该如何解决这个问题?

12 个答案:

答案 0 :(得分:13)

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

我需要做的就是跑 dotnet restore

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

如上面链接中所述 &#34;恢复项目的依赖关系和工具。&#34;

答案 1 :(得分:10)

我们刚遇到这个问题,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中的一个问题。

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

更改

query.result.statements.head

收件人

<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>

已解决了@ dave-glassborow的问题

答案 4 :(得分:1)

我也遇到了这个问题,就我而言,已经安装了正确的软件包,并且我所有的*.csproj都正确,但是解决方案中的一个项目仍然给了我这个错误。

一个普通的dotnet restore并不能解决我的问题。 我不得不对所有依赖项进行重新评估,如下所示:

dotnet restore --force-evaluate

从dotnet手册中:

  

即使已存在锁定文件,也必须强制还原以重新评估所有依赖关系。

几秒钟后,我的编译器停止提供此错误。

答案 5 :(得分:0)

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

我添加了参考,它起作用了:

MyTestProject.csproj

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

答案 6 :(得分:0)

只需添加Microsoft.AspNetCore.WebUtilities nuget包

答案 7 :(得分:0)

将库从.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软件包。

这可以解决问题,并且还可以帮助清理所有未使用的包裹物!

答案 8 :(得分:0)

添加NuGet软件包Microsoft.AspNetCore.Mvc.ViewFeatures为我修复了该

答案 9 :(得分:0)

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

该解决方案的描述为here,包括修改项目文件以添加一个<FrameworkReference>标签:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

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

</Project>

答案 10 :(得分:0)

我刚刚在使用 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>

答案 11 :(得分:0)

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