我尝试将以下模板项目升级到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中使用的引用。 我该如何解决这个问题?
答案 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 包即可为我修复。