Windows 服务器:找不到指定的框架 'Microsoft.AspNetCore.App',版本“2.1.0”
Windows Server: The specified framework 'Microsoft.AspNetCore.App', version '2.1.0' was not found
我正在尝试通过 运行 在我的 Windows 服务器 (2012 R2) 上 运行 一个 dotnet 核心 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.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 核心 运行time 和 sdk。知道我做错了什么吗?
Could it be because its looking for Microsoft.AspNetCore.App and I got
Microsoft.NETCore.App 2.1.0 installed?
是的,你是对的。您安装了适当的 Microsoft.NETCore.App
运行时,但没有安装 Microsoft.AspNetCore.App
运行时。 Here is the link of ASP.NET Core x64 runtime Installer and here 是主下载页面的 link。安装成功后,您的 dotnet --info
命令输出应该类似于下面的屏幕截图。
好的,我找到原因了。我有一个 .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 中 运行 作为控制台应用程序并获取依赖项注入和日志记录。
吉娜
我正在尝试通过 运行 在我的 Windows 服务器 (2012 R2) 上 运行 一个 dotnet 核心 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.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 核心 运行time 和 sdk。知道我做错了什么吗?
Could it be because its looking for Microsoft.AspNetCore.App and I got Microsoft.NETCore.App 2.1.0 installed?
是的,你是对的。您安装了适当的 Microsoft.NETCore.App
运行时,但没有安装 Microsoft.AspNetCore.App
运行时。 Here is the link of ASP.NET Core x64 runtime Installer and here 是主下载页面的 link。安装成功后,您的 dotnet --info
命令输出应该类似于下面的屏幕截图。
好的,我找到原因了。我有一个 .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 中 运行 作为控制台应用程序并获取依赖项注入和日志记录。
吉娜