似乎突然出现了一些与asp.net核心软件包不同步的东西.
它看起来像Microsoft.AspNetCore.App 2.1.116小时前在nuget.org上发布,但只有158次下载,显然我是其中一个下载程序.
我的.csproj文件是这样的:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\cloudscribe.Web.Navigation\cloudscribe.Web.Navigation.csproj" />
<ProjectReference Include="..\cloudscribe.Web.SiteMap\cloudscribe.Web.SiteMap.csproj" />
<ProjectReference Include="..\cloudscribe.Web.SiteMap.FromNavigation\cloudscribe.Web.SiteMap.FromNavigation.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.*" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.*" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
它构建但是当我尝试运行它时,我得到:
无法找到任何兼容的框架版本未找到指定的框架"Microsoft.AspNetCore.App",版本"2.1.1".- 检查应用程序依赖性并定位安装在以下位置的框架版本:C:\ Program Files\dotnet\ - 安装.NET Core先决条件可能有助于解决此问题:http://go.microsoft.com/fwlink/? LinkID = 798306&clcid = 0x409 - 可以从 以下位置安装.NET Core框架和SDK: https://aka.ms/dotnet-download - 安装了以下版本:2.1.0 at [C:\ Program Files\dotnet\shared\Microsoft.AspNetCore. APP]
如果我将Microsoft.AspNetCore.App的版本更改为2.1.0并执行dotnet还原,我会得到:
C:_c\cloudscribe.Web.Navigation\src\NavigationDemo.Web\NavigationDemo.Web.csproj:错误NU1107:检测到Microsoft.AspNetCore.Antiforgery的版本冲突.直接从项目引用包以解决此问题.C:_c\cloudscribe.Web.Navigation\src\NavigationDemo.Web\NavigationDemo.Web.csproj:错误NU1107:NavigationDemo.Web - > cloudscribe.Web.Navigation - > Microsoft.AspNetCore.Mvc.Razor 2.1.1 - > Microsoft .AspNetCore.Mvc.ViewFeatures 2.1.1 - > Microsoft.AspNetCore.Antiforgery(> = 2.1.1)C:_c\cloudscribe.Web.Navigation\src\NavigationDemo.Web\NavigationDemo.Web.csproj:错误NU1107:NavigationDemo. Web - > Microsoft.AspNetCore.App 2.1.0 - > Microsoft.AspNetCore.Antiforgery(= 2.1.0).C:_c\cloudscribe.Web.Navigation\src\NavigationDemo.Web\NavigationDemo.Web.csproj在3.54秒内恢复失败.
我想这部分是由于我的解决方案中的其他项目具有如下依赖关系:
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.*" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="2.1.*" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="2.1.*" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.1.*" />
<PackageReference Include="Microsoft.Extensions.Options" Version="2.1.*" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.*" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.1.*" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor" Version="2.1.*" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Abstractions" Version="2.1.*" />
Run Code Online (Sandbox Code Playgroud)
似乎没有更新的sdk,2.1.1但Microsoft.AspNetCore.App 2.1.1GitHub上的可用性似乎对我来说是破坏性的.
2.1.1(预览版)SDK可在其GitHub上使用.
你可以在这里直接下载:
看到:
我们还在等待官方SDK ......
编辑:
如果您在构建时遇到问题,请将以下内容添加到您的 .csproj
<PropertyGroup>
<TargetLatestAspNetCoreRuntimePatch>true</TargetLatestAspNetCoreRuntimePatch>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
更新:
官方2.1.1 SDK现已发布:https://www.microsoft.com/net/download/thank-you/dotnet-sdk-2.1.301-windows-x64-installer
你的问题是你的这一行csproj:
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.*" />
Run Code Online (Sandbox Code Playgroud)
这*是要选择Nuget包的最新2.1版本.对于许多包装,这将是完美的.但是,该软件包的v2.1.1还需要安装匹配的v2.1.1 SDK.截至目前,它不可用(它目前被阻止).
但是,如果您阅读从ASP.NET Core 2.0迁移到2.1文档,您将看到:
将指定的"Microsoft.AspNetCore.All"软件包引用版本替换为无版本的"Microsoft.AspNetCore.App"软件包参考.
现在,您正在使用的SDK版本推断该版本.这意味着你csproj现在应该包含这个:
<PackageReference Include="Microsoft.AspNetCore.App" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9803 次 |
| 最近记录: |