错误 CS0234:类型或命名空间名称 'AspNetCore' 在命名空间 'Microsoft' 中不存在(是否缺少程序集引用?)
Error CS0234: The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
我正在尝试将以下模板项目升级到 ASP.NET Core 1.1:
https://github.com/wilanbigay/aspnet-core-aurelia-typescript-starter
在 运行 dotnet migrate 之后,project.json 文件已被删除以支持新的 csproj 文件。
使用 Visual Studio 代码和 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 命名空间。我收到错误
Error CS0234: The type or namespace name 'AspNetCore' does not exist in the names pace 'Microsoft' (are you missing an assembly reference?)
我不确定如何才能像以前那样在参考资料部分的 Visual Studio 中检查参考资料。
我该如何解决?
所以我想我是在引用依赖项,但没有为项目安装它们。
我需要做的就是 运行
网络恢复
https://docs.microsoft.com/en-us/dotnet/articles/core/tools/dotnet-restore
如上文 link 所述
"Restores the dependencies and tools of a project."
我们刚刚遇到这个问题,visual studio 帮助添加了本地引用而不是通过 nuget
<ItemGroup>
<Reference Include="Microsoft.AspNetCore.Mvc.Core">
<HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.mvc.core.0.0\lib\netstandard2.0\Microsoft.AspNetCore.Mvc.Core.dll</HintPath>
</Reference>
</ItemGroup>
删除它并通过 nuget 引用解决了这个问题,看起来像是 Visual Studio 2017 年的问题。
我的问题是解决方案中的一个项目没有正确构建,因此无法被解决方案中的其他项目引用。
解决方案是更新Visual Studio(我从15.5.6版本更新到15.9.1版本)。这里是 link 到 Microsoft's VS Downloads page.
改变
<ItemGroup>
<Reference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore">
<HintPath>..\..\..\..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.identity.entityframeworkcore.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 回答的问题
我的只是我没有在 .csproj 文件中引用 Microsoft.AspNetCore.App
。
我添加了参考并且有效:
MyTestProject.csproj
<Project Sdk="Microsoft.NET.Sdk">
...
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
...
</Project>
只需添加Microsoft.AspNetCore.WebUtilities nuget包
我也 运行 遇到了这个问题,在我的情况下安装了正确的包并且我的所有 *.csproj
看起来都是正确的,但是我的解决方案中的一个项目仍然给我这个错误.
普通的 dotnet restore
对我没用。
我不得不像这样强制重新评估所有依赖项:
dotnet restore --force-evaluate
来自 dotnet 手册:
Forces restore to reevaluate all dependencies even if a lock file already exists.
几秒钟后,我的编译器不再给我这个错误。
我在将库从 .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 包。
这解决了问题,也有助于清理任何未使用的软件包!
添加 NuGet 包 Microsoft.AspNetCore.Mvc.ViewFeatures 为我修复了它
我在将 .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>
我只是 运行 使用 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>
只需添加 Microsoft.AspNetCore.Mvc
nuget 包就可以解决问题。
最终对我有用的是以下步骤:
- 卸载项目并以另一个答案中推荐的 user875234 编辑 .csproj 文件
- 重新加载并重建项目(这对我来说导致了不同的错误)
- 卸载项目并撤消对 .csproj 文件的编辑
- 重新加载并重建项目
一路上,我也 运行 dotnet restore
几次,所以这可能也有所帮助。
希望这对遇到与我类似问题的人有所帮助!
我正在尝试将以下模板项目升级到 ASP.NET Core 1.1: https://github.com/wilanbigay/aspnet-core-aurelia-typescript-starter
在 运行 dotnet migrate 之后,project.json 文件已被删除以支持新的 csproj 文件。
使用 Visual Studio 代码和 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 命名空间。我收到错误
Error CS0234: The type or namespace name 'AspNetCore' does not exist in the names pace 'Microsoft' (are you missing an assembly reference?)
我不确定如何才能像以前那样在参考资料部分的 Visual Studio 中检查参考资料。 我该如何解决?
所以我想我是在引用依赖项,但没有为项目安装它们。
我需要做的就是 运行 网络恢复
https://docs.microsoft.com/en-us/dotnet/articles/core/tools/dotnet-restore
如上文 link 所述 "Restores the dependencies and tools of a project."
我们刚刚遇到这个问题,visual studio 帮助添加了本地引用而不是通过 nuget
<ItemGroup>
<Reference Include="Microsoft.AspNetCore.Mvc.Core">
<HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.mvc.core.0.0\lib\netstandard2.0\Microsoft.AspNetCore.Mvc.Core.dll</HintPath>
</Reference>
</ItemGroup>
删除它并通过 nuget 引用解决了这个问题,看起来像是 Visual Studio 2017 年的问题。
我的问题是解决方案中的一个项目没有正确构建,因此无法被解决方案中的其他项目引用。
解决方案是更新Visual Studio(我从15.5.6版本更新到15.9.1版本)。这里是 link 到 Microsoft's VS Downloads page.
改变
<ItemGroup>
<Reference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore">
<HintPath>..\..\..\..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.identity.entityframeworkcore.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 回答的问题
我的只是我没有在 .csproj 文件中引用 Microsoft.AspNetCore.App
。
我添加了参考并且有效:
MyTestProject.csproj
<Project Sdk="Microsoft.NET.Sdk">
...
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
...
</Project>
只需添加Microsoft.AspNetCore.WebUtilities nuget包
我也 运行 遇到了这个问题,在我的情况下安装了正确的包并且我的所有 *.csproj
看起来都是正确的,但是我的解决方案中的一个项目仍然给我这个错误.
普通的 dotnet restore
对我没用。
我不得不像这样强制重新评估所有依赖项:
dotnet restore --force-evaluate
来自 dotnet 手册:
Forces restore to reevaluate all dependencies even if a lock file already exists.
几秒钟后,我的编译器不再给我这个错误。
我在将库从 .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 包。
这解决了问题,也有助于清理任何未使用的软件包!
添加 NuGet 包 Microsoft.AspNetCore.Mvc.ViewFeatures 为我修复了它
我在将 .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>
我只是 运行 使用 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>
只需添加 Microsoft.AspNetCore.Mvc
nuget 包就可以解决问题。
最终对我有用的是以下步骤:
- 卸载项目并以另一个答案中推荐的 user875234 编辑 .csproj 文件
- 重新加载并重建项目(这对我来说导致了不同的错误)
- 卸载项目并撤消对 .csproj 文件的编辑
- 重新加载并重建项目
一路上,我也 运行 dotnet restore
几次,所以这可能也有所帮助。
希望这对遇到与我类似问题的人有所帮助!