【问题标题】:为什么我的应用程序的窗口在我运行时不显示?
【发布时间】:2010-11-03 10:00:43
【问题描述】:

在没有警告(或明显原因)的情况下,VS 2008 决定像往常一样进行调试,但我的应用程序窗口从未出现在屏幕上。我整个上午都在 VS 中运行我的应用程序,但我看不出我可能做了什么改变,这会使我的窗口在下午不再出现。通常,如果 XAML 中有错误或我的代码有问题,VS 会告诉我一个致命的异常错误并自动关闭调试会话。但是现在 VS 似乎没有意识到任何问题,因为我可以看到我的应用在输出框中运行。

我已将整个输出框复制并粘贴到这篇文章中。有关我正在运行的应用程序的所有信息都在这里。

请注意底部熟悉的行:“程序 '[328] UI.vshost.exe: Managed' has exited with code 0 (0x0).”在我通过单击“停止”按钮手动关闭调试会话之前,该行不会出现。在此之前,该应用程序似乎正在运行,没有任何重大错误或问题。

我看到了一些可能的危险信号:首先,System.Deployment.dll 底部附近的第一次机会异常 - 我不知道这意味着什么,我怀疑它是否相关。

其次,在我的应用完成加载之前,有两个线程因未知原因退出。再说一次,我不认为这是不寻常的。我刚刚注意到了。

第三,我的应用加载“PresentationFramework.Classic.dll”。经典的?那有什么意思?而与什么相反?我的应用程序不应该使用 WPF 的“经典”版本吗?这对我来说似乎很奇怪......

第四,它将我的应用程序命名为“UI.vshost.exe”。我的应用程序的可执行文件是“UI.exe”——我不记得在过去的任何版本的 VS 中都曾在可执行文件的文件名上看到过“vshost”。我已经确认“vshost”出现在发布模式和调试模式下的输出窗口中。重新启动我的电脑没有任何效果。删除 bin 和 obj 文件夹并重建没有效果。 我检查了项目文件夹中的“bin”目录。它包含两个可执行文件:UI.exe 和 UI.vshost.exe UI.exe 为 76KB UI.vshost.exe 为 14KB 双击文件并手动运行它们无效。没有窗口出现。

最后,在第 8 行(不考虑换行)UI.vshost.exe 声称本质上已经“加载”了自身,就像它是引用自身的 dll 或其他东西一样。再次,这引起了人们的注意。

另外,我正在使用 Visual Source Safe 进行源代码控制。我听说 VSS 从行业的角度来看有点不可靠,而且众所周知它过去曾破坏过项目。这可能是罪魁祸首吗?

当然,对于所有这些东西的含义,我不是专家 - 否则我可能不需要将其发布在 StackOverflow 上。

如果你看到我可能遗漏的任何东西,请告诉我……

'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Users\hamilton.hollberg\Documents\Visual Studio 2008\Projects\AllSparkAdminTool\AllSparkAdminTool\bin\Debug\UI.vshost.exe'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Core\3.5.0.0__b77a5c561934e089\System.Core.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Xml.Linq\3.5.0.0__b77a5c561934e089\System.Xml.Linq.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Data.DataSetExtensions\3.5.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\UIAutomationProvider\3.0.0.0__31bf3856ad364e35\UIAutomationProvider.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\WindowsBase\3.0.0.0__31bf3856ad364e35\WindowsBase.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\PresentationCore\3.0.0.0__31bf3856ad364e35\PresentationCore.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\PresentationFramework\3.0.0.0__31bf3856ad364e35\PresentationFramework.dll'
The thread 0xbc0 has exited with code 0 (0x0).
The thread 0xd78 has exited with code 0 (0x0).
'UI.vshost.exe' (Managed): Loaded 'C:\Users\hamilton.hollberg\Documents\Visual Studio 2008\Projects\AllSparkAdminTool\AllSparkAdminTool\bin\Debug\UI.exe', Symbols loaded.
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Deployment\2.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll'
A first chance exception of type 'System.Deployment.Application.InvalidDeploymentException' occurred in System.Deployment.dll
'UI.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\PresentationFramework.Classic\3.0.0.0__31bf3856ad364e35\PresentationFramework.Classic.dll'
The program '[2704] UI.vshost.exe: Managed' has exited with code 0 (0x0).

【问题讨论】:

    标签: wpf visual-studio-2008 debugging visual-sourcesafe


    【解决方案1】:
    public MainWindow()
    {
        InitializeComponent();
    }
    

    我已确认在调用InitializeComponent 期间发生了无限循环。这可能是一个绑定问题。在这一点上,我必须开始注释掉 XAML 行,直到找到源代码。

    【讨论】:

      【解决方案2】:

      所有“vshost”表示您的应用程序正在 Visual Studio 中运行。

      如果您直接运行应用程序,则名称不会包含此内容。

      【讨论】:

        【解决方案3】:

        我知道这听起来很傻,但是您尝试过重新启动吗?我让 VS 2008 做了一些奇怪的事情,只是在重启后才恢复。

        【讨论】:

        • 他确实说他重新启动了他的电脑,但没有任何效果。不过我不怪你错过了它。
        【解决方案4】:

        嗯,这就是 MS 对Deployment Exception 的评价。听起来这可能是我的问题。我还想知道您是否不小心将配置从“调试”更改为“部署”。

        【讨论】:

        • 好的,这似乎是一个不错的起点。但是我没有在任何我知道的地方使用 ClickOnce,而且我的应用程序清单文件似乎被 Visual Source Safe 阻止,所以我无法删除它并构建一个新文件。你知道如何告诉 VS 从头开始​​重建应用程序清单吗?
        • 嗯。我做了一点挖掘,这可能是VS中的一个错误。这个线程很旧 - connect.microsoft.com/VisualStudio/feedback/… - 但听起来像你的问题。 MS 的家伙建议关闭该异常(调试菜单 | 异常,搜索 InvalidDeploymentException 并取消选中它)。
        【解决方案5】:

        我遇到了同样的问题。就我而言,解决方案更简单。在搜索了互联网并尝试了一堆东西之后,解决方法是重新启动我的电脑。我看过其他有此问题的人发布的其他帖子,他们重新启动不起作用,但它对我有用。

        【讨论】:

          【解决方案6】:

          置顶评论是正确的。但是请注意,这个问题也可能与构造函数中的任何 Async 方法(可以称为 used .Result)有关。

          我在 .Net 6 中工作,仅供将来参考。

          【讨论】:

          猜你喜欢
          • 2015-07-15
          • 2020-06-06
          • 2011-02-18
          • 2014-01-30
          • 2018-06-08
          • 1970-01-01
          • 2014-05-24
          • 2010-12-28
          • 1970-01-01
          相关资源
          最近更新 更多