若要运行此程序,您必须安装.net(对于net5.0 windows窗体应用程序windows11)



我使用net5在windows 11上构建了一个小型的C#窗体项目。它在Vstudio 2019最新版本(v16.11.8(下的调试模式下运行良好;dotnet—列表sdk";命令报告同时安装了.NET v5.0.404和v6.0.101"dotnet—列出运行时";报告已安装运行时NETCore.App 3.1.22、5.0.13和6.0.1,以及WindowsDesktop.App 3.1.22、5.00.13和6.0.1。

当我构建应用程序时,我使用构建后事件将文件复制到另一个文件夹,在那里双击.exe文件以运行表单应用程序。但双击总是告诉我,要运行应用程序,我需要安装";。NET";(确切地说,没有其他信息(。你想现在下载吗?我单击"是",弹出对话框消失,什么也没发生。

我首先将.exe复制到目标文件夹,当失败时,我也复制了json配置文件、DLL和.pdb文件。但是,仍然没有幸福。

我一定错过了一些简单的东西,因为该应用程序在vstudio下运行良好。

我将Debug/net5.0-windows文件夹的内容与目标文件夹进行了比较。Debug文件夹包含44个其他DLL和十几个语言包。我怀疑由于某种原因,我的.exe应用程序无法找到所有这些DLL。它应该能找到它们,因为安装了所有的SDK和运行时。但我对如何告诉.exe文件找到并使用所有安装的SDK和运行时还不够了解。

有人能告诉我我做错了什么,以及如何使用安装的运行时运行导出的文件吗?非常感谢。

您可以使用单个可执行选项发布它-https://learn.microsoft.com/en-us/dotnet/core/deploying/single-file#publish-一个单一的应用程序——视觉工作室

您可以通过VS gui或类似.net cli的命令来执行此操作:dotnet publish -r win-x64 -p:PublishSingleFile=true --self-contained false

IMO这是错误消息具有误导性的情况之一。

即使在安装了最新的.NET 5.0运行时文件后也收到了此消息。即使在建议的dotnet publish之后,应用程序仍然不会在目标机器上启动。

事实证明,除了到.NET运行时文件之外,还有一个";Windows桌面运行时";。只有在安装了后者之后,应用程序才能正常启动。

相关内容

最新更新