C# Windows.Forms对象未在发布/部署中显示,但在调试模式下显示

C# Windows.Forms对象未在发布/部署中显示,但在调试模式下显示,c#,winforms,visual-studio,deployment,dialog,C#,Winforms,Visual Studio,Deployment,Dialog,我遇到了一个构建问题,该问题涉及使用DialogResult对象,当我 发布应用程序或 提交更改并部署到生产环境中 奇怪的是,它将在本地构建中工作并弹出(使用Ctrl+F5或仅使用F5) windows窗体对象在此实例中不工作是否存在问题,或者是否存在其他问题?部署和发布都直接发布到站点,该站点在代码中添加了一个特殊的小部分,允许显示以前被CORS策略阻止的照片。我不确定还有什么可以补充的,因为我想不出任何可能影响这一点的相关内容 根据请求,未显示的代码片段 DialogResult dial

我遇到了一个构建问题,该问题涉及使用
DialogResult
对象,当我

  • 发布应用程序或

  • 提交更改并部署到生产环境中

  • 奇怪的是,它将在本地构建中工作并弹出(使用Ctrl+F5或仅使用F5)

    windows窗体对象在此实例中不工作是否存在问题,或者是否存在其他问题?部署和发布都直接发布到站点,该站点在代码中添加了一个特殊的小部分,允许显示以前被CORS策略阻止的照片。我不确定还有什么可以补充的,因为我想不出任何可能影响这一点的相关内容

    根据请求,未显示的代码片段

     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.
    

    调试/释放模式和类行为之间没有区别

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

    给出了更长的答案,并给出了一些备选方案,即or


    MessageBox和整体框架适用于Windows桌面GUI应用程序。在您的例子中,问题是程序运行的上下文。在服务器上下文中执行windows forms UI应用程序时,进程应在模式下执行,并且应有适当的用户登录,并在默认桌面上运行active desktop会话

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