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

时间:2018-06-25 20:10:17

标签: asp.net-core .net-core asp.net-core-mvc-2.1

尝试将Microsoft.VisualStudio.Web.BrowserLink 2.1.1作为nuget包添加到非常库存的文件->新建-> 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).

我回想起过去在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>

1 个答案:

答案 0 :(得分:3)

共享框架软件包SELECT应该始终不带版本号使用,如下所示:

SetupSuite

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

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

<PackageReference Include="Microsoft.AspNetCore.App" />

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