我正在使用VS2010 VB.NET,正在开发一个包含许多项目的解决方案。我已经开发了一段时间了,并且试图调试从ObservableCollection继承的自定义类(顺便说一下,即使显然已经调用了断点线,它也不会在调试时加载符号),我改变了启动项目的启动对象到另一个WPF窗口,我有几个控件,我预留用于调试。
我立刻遇到了'Sub Main'未被发现。我尝试将启动对象更改回正常的启动窗口,但现在启动对象下拉列表只有“Sub Main”,因为它是唯一的选项。我在App.xaml中更改了StartupURI,但没有用。
其他人见过这个吗?
如何恢复使用原始窗口?
作为旁注,是否有某个设置会导致调试器不加载程序集的符号?我知道DiskCollection类正在实例化,但构造函数上的断点总是说无法命中断点,没有加载符号。
科里
答案 0 :(得分:4)
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)
{
}
}
答案 1 :(得分:1)
因此,在“项目属性”页面中,未选中“启用应用程序框架”设置。这显然告诉编译器使用StartupUri属性来确定启动页面而不是使用main子(或方法;这个设置是否出现在C#中?)。
设置未选中,因此Sub Main是StartupURI下拉列表中的唯一选项,Windows Application Framework Propertie3s组已禁用,并且app.xaml中的StartupUri属性未使用。
现在我知道......
科里