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).

我记得过去在 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>
4

1 回答 1

9

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

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

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

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

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

那里的版本2.1.0-rc1-final。这表明您没有为 2.1.0 RTM 和 2.1.1 更新您的本地 SDK。您可以在此处下载当前的 SDK v2.1.301。所有下载,包括您的服务器的运行时安装程序都可以在这里找到。

于 2018-06-25T21:35:38.380 回答