依赖于框架。NET8 应用:未找到框架

Framework dependent .NET8 app: No frameworks were found

提问人:coalmee 提问时间:11/17/2023 更新时间:11/17/2023 访问量:116

问:

将我们的应用程序从 .NET7 到 .NET8 尝试运行已发布的应用程序时出现以下错误:必须安装或更新 .NET 才能运行此应用程序。

应用程序作为依赖于框架的 win-x64 发布。 我安装了.NET8 运行时和 SDK。

如果你看一下,它会尝试在我的应用程序的本地路径中查找 .NET,而不是在.NET locationC:\Program Files\dotnet

有谁知道从 .NET 7 到 8 这里发生了什么变化或如何解决这个问题?

F:\myapp>MyApp.exe

You must install or update .NET to run this application.

App: F:\myapp\MyApp.exe
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '8.0.0' (x64)
.NET location: F:\myapp\

No frameworks were found.

Learn about framework resolution:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=8.0.0&arch=x64&rid=win10-x64

dotnet --list-runtimes

Microsoft.WindowsDesktop.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.NETCore.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.AspNetCore.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
C# NET . net-core

评论

0赞 Maytham Fahmi 11/17/2023
您可以创建一个新的 .NET 8 项目并查看它是否有效吗?如果是,我想看看你的csproj文件。
0赞 vvasch 11/25/2023
我认为这个链接与 learn.microsoft.com/en-us/dotnet/core/compatibility/deployment/ 有关......我假设在 OP 的情况下,首先在 F:\myapp 中遇到了一个安装。我通过在“/usr/lib/dotnet”文件夹中安装 sdk 解决了类似的问题。这是我在上面的错误版本中报告为“.NET 位置”的文件夹。在该位置的 sdk 子文件夹中,没有 .net8。

答:

0赞 e-master 11/17/2023 #1

检查您的目标部署目录中是否有剩余的 hostfxr.dll 文件 - 这给我们带来了同样的问题。

0赞 vvasch 11/25/2023 #2

将环境变量 DOTNET_ROOT设置为 C:\Program Files\dotnet 应该可以解决 .NET 位置错误的问题。您可以使用 Powershell 执行此操作(临时),如下所示:

$Env:DOTNET_ROOT="C:\Program Files\dotnet"

详细信息:.NET 环境变量