Netcore 2.1.1版本导致应用程序无法运行

Joe*_*tte 19 asp.net-core

似乎突然出现了一些与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.1Microsoft.AspNetCore.App 2.1.1GitHub上的可用性似乎对我来说是破坏性的.

d.m*_*ada 7

2.1.1(预览版)SDK可在其GitHub上使用.

你可以在这里直接下载:

https://dotnetfeed.blob.core.windows.net/orchestrated-release-2-1/20180605-09/final/assets/Sdk/2.1.301-preview-008906/dotnet-sdk-2.1.301-win- x64.exe程序

看到:

https://github.com/dotnet/versions/tree/7a833dddfddc27f2074b755b94234a25b9757637/build-info/dotnet/product/cli/release/2.1

我们还在等待官方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


Dav*_*idG 7

你的问题是你的这一行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)