【问题标题】:Windows.Forms object not showing up in publish/deployment, but shows up in debug modeWindows.Forms 对象未在发布/部署中显示,但在调试模式下显示
【发布时间】:2018-07-15 15:42:09
【问题描述】:

我遇到了涉及使用DialogResult 对象的构建问题,但当我没有显示时

  1. 发布应用

  2. 提交更改并部署到生产环境。

奇怪的部分是它可以在本地构建中工作并弹出(使用 Ctrl+F5 或只是 F5)。

Windows 窗体对象在这种情况下无法正常工作是否存在问题,或者可能是其他问题?部署和发布都直接到网站,该网站有一个特殊的小附加代码,允许显示以前被 CORS 策略阻止的照片。我不确定还要添加什么,因为我想不出任何可能会影响这一点的相关内容。

根据要求,未显示的代码的 sn-p。

 DialogResult dialogResult = MessageBox.Show("Are you sure you want to delete this photo?", "Delete Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, MessageBoxOptions.DefaultDesktopOnly);
 if (dialogResult == DialogResult.Yes)
 {
   //Delete File and all related material.
 }
 else if (dialogResult == DialogResult.No)
 {
      PicturePlaceholder.Controls.Clear();
 }

 //Reload photos.

【问题讨论】:

  • 粘贴 DialogResult 行为不同的代码的 sn-p
  • 上面的代码我已经贴出来了。
  • 部署的程序如何执行,用户安装并在本地计算机上运行?
  • 它被提交到存储库,然后从 Jenkins 部署到内部网站。

标签: c# winforms visual-studio deployment dialog


【解决方案1】:

调试/发布模式和MessageBox 类行为之间没有区别。

如果我理解正确,您正试图从运行在 Web 服务器上的 Web 应用程序中显示 Messagebox。简短的回答是:不要

给出了一些替代方案的更长答案,即herehere

MessageBox 和整个Windows Forms-framework 适用于Windows 桌面GUI 应用程序。在您的情况下,问题是程序运行的上下文。在服务器上下文中执行 windows 窗体 UI 应用程序时,进程应该在UserInteractive 模式下执行,并且应该有适当的用户登录并在默认桌面上运行活动桌面会话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 2022-11-10
    • 1970-01-01
    • 2021-02-18
    • 2020-04-17
    • 2019-11-16
    相关资源
    最近更新 更多