代码之家  ›  专栏  ›  技术社区  ›  sclarson

如何解决aspnet core 2.1中的版本冲突?(2.1.1>=2.1.0-RC1-最终)

  •  1
  • sclarson  · 技术社区  · 6 年前

    正在尝试将Microsoft.visualstudio.web.browserlink 2.1.1作为一个nuget包添加到一个非常普通的文件中->新建->项目.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 回复  |  直到 6 年前
        1
  •  7
  •   poke    6 年前

    共享框架包 Microsoft.AspNetCore.App 应始终在没有版本号的情况下使用,如下所示:

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

    这样,它将由运行时自动解决,运行时将包及其依赖项作为.NETCAREL的一部分传送,并将自动向前滚动补丁发布。所以为了升级到 2.1.1 您只需升级本地.NET核心SDK和部署到服务器上的.NETCype运行时即可。

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

    Microsoft.AspNetCore.App (>= 2.1.0-rc1-final) 
    

    有个版本 2.1.0-rc1-final 是的。这表明您没有为2.1.0rtm或2.1.1更新本地sdk。你可以下载 current SDK v2.1.301 over here 是的。可以找到所有下载,包括服务器的运行时安装程序。 over here .

    推荐文章