如何解决ASPNET Core 2.1中的版本冲突?(2.1.1> = 2.1.0-rc1-final)

scl*_*son 1 .net-core asp.net-core asp.net-core-mvc-2.1

尝试将Microsoft.VisualStudio.Web.BrowserLink 2.1.1作为nuget包添加到非常库存的File-> New-> Project .net core 2.1项目上。

Version conflict detected for Microsoft.AspNetCore.Hosting.Abstractions.    Reference the package directly from the project to resolve this issue. 
EngineeringWeb (>= 1.0.0) -> Microsoft.VisualStudio.Web.BrowserLink (>= 2.1.1) -> Microsoft.AspNetCore.Hosting.Abstractions (>= 2.1.1) 
EngineeringWeb (>= 1.0.0) -> Microsoft.AspNetCore.App (>= 2.1.0-rc1-final) -> Microsoft.AspNetCore.Hosting.Abstractions (>= 2.1.0-rc1-final).
Run Code Online (Sandbox Code Playgroud)

我记得以前在csproj文件中执行操作以重定向版本。我希望避免这种情况。

.csproj文件:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="Features\" />
    <Folder Include="Features\Registration\" />
  </ItemGroup>
  <ItemGroup>
    <Compile Remove="Controllers\HomeController.cs" />
  </ItemGroup>
  <ProjectExtensions>
    <MonoDevelop>
      <Properties>
        <Policies>
          <VersionControlPolicy>
            <CommitMessageStyle LastFilePostfix=":&#xA;  " LineAlign="0" IncludeDirectoryPaths="True" />
          </VersionControlPolicy>
        </Policies>
      </Properties>
    </MonoDevelop>
  </ProjectExtensions>
</Project>
Run Code Online (Sandbox Code Playgroud)

pok*_*oke 7

共享框架软件包Microsoft.AspNetCore.App应始终不带版本号使用,如下所示:

<PackageReference Include="Microsoft.AspNetCore.App" />
Run Code Online (Sandbox Code Playgroud)

这样,它将由运行时自动解决,运行时将软件包及其依赖项作为.NET Core的一部分提供,并将自动前滚修补程序版本。所以为了升级到2.1.1,您只需要升级本地.NET Core SDK和部署到服务器上的.NET Core运行时。

至于您的问题,如果查看输出,将看到以下内容:

Microsoft.AspNetCore.App (>= 2.1.0-rc1-final) 
Run Code Online (Sandbox Code Playgroud)

那里的版本2.1.0-rc1-final。这表明您尚未针对2.1.0 RTM或2.1.1都更新本地SDK。您可以在此处下载最新的SDK v2.1.301。所有下载内容,包括服务器的运行时安装程序,都可以在此处找到。