【问题标题】:Published .Net Core App Warns to Install .Net Core but it's Already Installed已发布的 .Net Core 应用警告要安装 .Net Core,但它已经安装
【发布时间】:2019-12-17 03:00:09
【问题描述】:

我制作了一个 WPF 和控制台应用程序,供某人在我无法访问的私人服务器上使用。我使用 Visual Studio 2019 的内置“发布向导”来创建依赖于框架的单文件应用程序。当此人打开 WPF 应用程序时,他们会收到标准警告:

他们点击“是”,据我了解,他们安装了 .Net Core 3.1,这是应用程序的目标。

他们重新启动计算机后,再次收到完全相同的警告。我不确定发生了什么,因此我将应用程序重新打包为独立的,因为安装的 .Net Core 版本与我的应用程序的目标版本相同。

这似乎有点作用。我们遇到了一些不相关的问题,我必须在最后的代码中修复这些问题,然后我重新发布了项目并将它们发送出去。

他们尝试使用 WPF 应用程序并再次收到安装警告。

现在,无论我在“发布向导”中选择何种选项组合,他们都会收到警告。

我不知道该怎么办。

这是我的发布设置的图片

【问题讨论】:

  • 你在其他电脑上试过了吗?有虚拟机吗?因为如果它只发生在一台电脑上,那很可能是那台电脑出了问题。可能需要重新安装 Windows。
  • 很遗憾,没有,我可以请这个人尝试一下,但它不在我的掌控之中。
  • 这家伙正在运行服务器,但显然无法为您提供正确的屏幕截图。那是一张手机摄像头图像——而且放大了,我们无法确定该消息框上是否还有其他内容。所以我真的怀疑问题在他这边。
  • 只需点击PrtScn(打印屏幕)按钮即可截取桌面截图。在对话框上点击Ctrl+C 将复制标题、全文按钮文本。现在,我们甚至无法猜测错误消息是什么 - 标题是否要求不同的运行时版本?
  • 他们还应该运行dotnet --version 并发送结果。

标签: c# wpf .net-core publishing .net-core-3.1


【解决方案1】:

在我的情况下,我遇到了同样的问题,问题是我没有部署文件“MY_PROGRAM_NAME.runtimeconfig.json”。复制生成输出中存在的此文件后,应用程序将顺利启动。

【讨论】:

  • 我同意这是您需要做的事情之一,但即使我这样做了,也并不总是能帮到我。
  • 正是我的问题,谢谢。你知道为什么吗? X
【解决方案2】:

事实证明,问题在于应用程序以 win-x86 为目标,而用户只能访问 .Net Core 的 64 位运行时。

出于某种原因,我认为它能够处理 32 位版本,即使它运行 64 位运行时。

我猜生活和学习。

【讨论】:

  • 您是否尝试安装 .Net Core 32 位运行时?我确实尝试过这个,但它根本没有帮助......
  • @RudolfJan 我假设我只是针对 64 位构建,这已经很久没有发生了。
  • 感谢您的回复。它仍然令人困惑,但我想我现在有了一个可行的解决方案,但没有真正理解发生了什么......有一个发布选项允许设置发布配置文件。它创建了一长串要包含的 dll,不知道为什么这是必要的,它提供了许多部署选项。我可能想写下我对它的理解,然后检查我的理解是否正确。
  • @但是 NetCore 是否包含在您的自有内容发布的文件中?
  • Dellos,这发生在 2019 年,我不记得关于这个项目的任何事情了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-26
  • 1970-01-01
  • 2020-01-26
  • 1970-01-01
  • 2021-11-11
  • 2017-07-11
  • 1970-01-01
相关资源
最近更新 更多