我已经构建并部署了.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>
答案 0 :(得分:3)
几个月前,Visual Studio更新破坏了我运行测试的能力。问题之一就是这个错误。我安装了x64版本的SDK,但是VS测试运行程序正在尝试使用x86版本。该修补程序只是更改测试资源管理器中的设置:Processor Architecture for AnyCPU Projects -> x64
。
答案 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的所有版本。下载并安装它,然后再次运行并测试您的应用。