【问题标题】:Windows Server: The specified framework 'Microsoft.AspNetCore.App', version '2.1.0' was not foundWindows Server:找不到指定的框架“Microsoft.AspNetCore.App”,版本“2.1.0”
【发布时间】:2018-11-26 15:12:57
【问题描述】:

我正在尝试通过运行以下命令在我的 Windows Server (2012 R2) 上运行 dotnet core api (2.1.0):dotnet Api.dll 但我不断收到以下消息。

The specified framework 'Microsoft.AspNetCore.App', version '2.1.0' was not found.
  - Check application dependencies and target a framework version installed at:
      C:\Program Files\dotnet\
  - Installing .NET Core prerequisites might help resolve this problem:
      http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
  - The .NET Core framework and SDK can be installed from:
      https://aka.ms/dotnet-download

当我使用相同的命令 (dotnet Api.dll) 时,api 在我的 mac 上正常运行。当我使用 dotnet --info 时,我得到以下信息,它说安装了最新的运行时和 SDK。

Runtime Environment:
 OS Name:     Windows
 OS Version:  6.3.9600
 OS Platform: Windows
 RID:         win81-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.300\

Host (useful for support):
  Version: 2.1.0
  Commit:  caa7b7e2ba

.NET Core SDKs installed:
  2.1.201 [C:\Program Files\dotnet\sdk]
  2.1.300 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.
App]
  Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.
App]
  Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.
App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

已经尝试添加PublishWithAspNetCoreTargetManifest 部分并重新发布。它在发布时确实为我提供了更多文件,但不适用于我当前的问题。

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
->  <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> <-
  </PropertyGroup>
  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
    ....

可能是因为它正在寻找Microsoft.AspNetCore.App 而我安装了Microsoft.NETCore.App 2.1.0?我真的不知道,我知道安装了最新的 .NET Core 运行时和 sdk。知道我做错了什么吗?

【问题讨论】:

    标签: .net-core windows-server


    【解决方案1】:

    可能是因为它正在寻找 Microsoft.AspNetCore.App 而我得到了 Microsoft.NETCore.App 2.1.0 安装了吗?

    是的,你是对的。您安装了适当的Microsoft.NETCore.App 运行时,但没有安装Microsoft.AspNetCore.App 运行时。 Here 是 ASP.NET Core x64 运行时安装程序的链接,here 是主下载页面的链接。安装成功后,你的dotnet --info 命令输出应该类似于下面的截图。

    【讨论】:

    • 谢谢!安装并修复一些丢失的文件后,api 运行正常。值得赏金:thumbsup:
    【解决方案2】:

    好的,我找到了原因。我有一个 .net 核心控制台应用程序。我为 DI 目的为 HostBuilder 引入了“Microsoft.AspNetCore.App”。

    Microsoft.AspNetCore.App 与 docker 控制台应用程序不兼容。

    更好的方法是引入个人所需的库:

    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.5" />
    <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.1.1" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="2.1.1" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.1" />
    <PackageReference Include="Microsoft.Extensions.Hosting" Version="2.1.1" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.1.1" />
    

    不,我可以在 docker 中作为控制台应用程序运行并获得依赖注入和日志记录。

    吉娜

    【讨论】:

      猜你喜欢
      • 2018-11-08
      • 1970-01-01
      • 2019-10-06
      • 2020-08-24
      • 2021-03-22
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      相关资源
      最近更新 更多