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

问题描述 投票:16回答:5

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

运行dotnet迁移后,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
5个回答
13
投票

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

我需要做的就是运行dotnet restore

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

如上面的链接所述,“恢复项目的依赖关系和工具”。


12
投票

我们刚遇到这个问题,视觉工作室有助于添加本地参考而不是通过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中看起来像是一个问题。


1
投票

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

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


1
投票

更改

<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回答道


1
投票

我的原因很简单,我没有在.csproj文件中引用Microsoft.AspNetCore.App

我添加了引用并且它有效:

MyTestProject.csproj

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

0
投票

只需添加Microsoft.AspNetCore.WebUtilities nuget包

© www.soinside.com 2019 - 2024. All rights reserved.