【问题标题】:Cannot set startup object in WPF VB.NET Project无法在 WPF VB.NET 项目中设置启动对象
【发布时间】:2013-09-05 13:12:38
【问题描述】:

我正在使用 VS2010 VB.NET,正在开发一个包含多个项目的解决方案。我已经在上面开发了一段时间,并试图调试从 ObservableCollection 继承的自定义类(顺便说一下,即使很明显正在调用断点行,它在调试时也不会加载符号),我改变了将启动项目的启动对象复制到另一个 WPF 窗口,我有几个控件用于调试。

我马上遇到了“Sub Main”在 .我尝试将启动对象更改回正常的启动窗口,但现在启动对象下拉列表只有“Sub Main”,因为它是唯一的选项。我将 App.xaml 中的 StartupURI 改回,但无济于事。

其他人看到了吗?

我怎样才能让它恢复使用原来的窗口?

附带说明一下,是否有某个设置会导致调试器不为程序集加载符号?我知道 DiskCollection 类正在被实例化,但是构造函数上的断点总是说断点不能被命中,没有加载符号。

科里

【问题讨论】:

    标签: wpf vb.net visual-studio-2010 debug-symbols


    【解决方案1】:

    WPF中的启动与winforms不同;它由 App.xaml 文件设置。在 xaml 模式下编辑它,您会注意到:

    <Application x:Class="WpfApplication6.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
    
    </Application.Resources>
    

    StartupUri 设置启动事物的表单。

    如果您希望代码启动,您可以删除 StartupUri 并改为执行以下操作:

    Startup="Application_Startup"
    

    然后像这样在 App.xaml.cs 文件中提供代码:

    public partial class App : Application
    
        {
            private void Application_Startup(object sender, StartupEventArgs e)
            {
    
            }
        }
    

    【讨论】:

    • 事实证明,启用应用程序框架没有被选中,我想它告诉它使用窗口而不是 App.xaml.vb/cs 文件进行初始执行。即使在 App.xaml 文件中正确给出了窗口,此应用程序框架设置似乎与 app.xaml 分开,并影响编译器是否使用那里找到的 StartupURI 属性。
    【解决方案2】:

    因此,显然在项目属性页面中,启用应用程序框架设置未选中。这显然告诉编译器使用 StartupUri 属性来确定启动页面,而不是使用主子(或方法;此设置是否出现在 C# 中?)。

    不知何故,该设置未被选中,因此 Sub Main 是 StartupURI 下拉列表中的唯一选项,Windows Application Framework Propertie3s 组已禁用,app.xaml 中的 StartupUri 属性未使用。

    现在我知道了……

    科里

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      相关资源
      最近更新 更多