找不到任何兼容的框架版本。找不到指定的框架'Microsoft.NETCore.App'版本'2.2.0'

时间:2018-12-12 21:39:17

标签: c# .net-core

我已经构建并部署了.Net Core控制台应用程序。

该项目的Platform目标是x86。

目标框架是.Net Core 2.2(x86)。

尽管已安装.Net Core 2.2(x86)SDK,但在开发人员命令提示符VS2017中执行dotnet myapp.dll命令后,出现以下错误。

It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '2.2.0' was not found.
- The following versions are installed:
2.0.7 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2.0.9 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2.1.5 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

.Net Core 2.2(x86)SDK安装在路径“ C:\ Program Files(x86)\ dotnet \ shared”下,并且系统环境变量包含“ C:\ Program Files(x86)\ dotnet \”。

有什么建议吗?谢谢!

~~~ Update1

以下是.csproj信息的一部分,很抱歉无法完整显示。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <Platforms>AnyCPU;x86;x64</Platforms>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <PlatformTarget>x86</PlatformTarget>
    <Prefer32Bit>true</Prefer32Bit>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <PlatformTarget>x64</PlatformTarget>
    <Prefer32Bit>true</Prefer32Bit>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
    <PlatformTarget>x86</PlatformTarget>
  </PropertyGroup>

5 个答案:

答案 0 :(得分:3)

几个月前,Visual Studio更新破坏了我运行测试的能力。问题之一就是这个错误。我安装了x64版本的SDK,但是VS测试运行程序正在尝试使用x86版本。该修补程序只是更改测试资源管理器中的设置:Processor Architecture for AnyCPU Projects -> x64

enter image description here

答案 1 :(得分:3)

我遇到了同样的问题。

在搜索 Microsoft 的文档后,我发现我缺少一个额外的必要 Nuget 包。

文档说:

<块引用>

在特定项目上使用这些工具之前,您需要添加 Microsoft.EntityFrameworkCore.Design 包。

这是我通过添加包所做的

dotnet add package Microsoft.EntityFrameworkCore.Design

就是这样。希望它可以帮助那里的人!

答案 2 :(得分:0)

您是否可以更改.csproj来添加RunCommand,如下所示:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <Prefer32Bit>false</Prefer32Bit>
    <PlatformTarget>x86</PlatformTarget>
    <Optimize>false</Optimize>
    <RunCommand Condition="'$(PlatformTarget)' == 'x86'">$(MSBuildProgramFiles32)\dotnet\dotnet</RunCommand>
    <RunCommand Condition="'$(PlatformTarget)' == 'x64'">$(ProgramW6432)\dotnet\dotnet</RunCommand>
  </PropertyGroup>

</Project>

也许您需要添加两行RunCommand并在笔记本电脑上更新dotnet的正确路径。

当您在Windows 64位上运行x86应用程序时,会发生此问题。

答案 3 :(得分:0)

.Net Core安装github.com/dotnet/core-setup/issues/4350

似乎是一个已知问题。

我必须卸载x64和x86的所有.Net Core软件包,然后重新安装.Net Core x86软件包。这就解决了问题。

答案 4 :(得分:0)

您只需要在计算机或服务器中安装.net核心SDK版本。 该link具有.NET Core SDK的所有版本。下载并安装它,然后再次运行并测试您的应用。