我正在尝试将以下模板项目升级到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中使用的引用。我该如何解决这个问题?
所以我想我引用了依赖项,但没有为项目安装它们。
我需要做的就是运行dotnet restore
https://docs.microsoft.com/en-us/dotnet/articles/core/tools/dotnet-restore
如上面的链接所述,“恢复项目的依赖关系和工具”。
我们刚遇到这个问题,视觉工作室有助于添加本地参考而不是通过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中看起来像是一个问题。
我的问题是解决方案中的项目没有正确构建,因此解决方案中的其他项目无法引用它。
解决方案是更新Visual Studio(我从版本15.5.6更新到版本15.9.1)。这是一个Microsoft's VS Downloads page的链接。
更改
<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回答道
我的原因很简单,我没有在.csproj文件中引用Microsoft.AspNetCore.App
。
我添加了引用并且它有效:
MyTestProject.csproj
<Project Sdk="Microsoft.NET.Sdk">
...
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
...
</Project>
只需添加Microsoft.AspNetCore.WebUtilities nuget包