Visual Studio 2022 VB.NET无法将新建frm_Main设为启动窗体
VS2022 VB.NET项目启动窗体列表不显示新增窗体的解决方法
问题描述
使用Visual Studio 2022开发VB.NET Windows Forms应用程序时,计划将启动窗体从初始生成的Form1修改为自行新增的frm_Main。按路径进入「项目 >> 项目属性 >> 应用程序 >> 启动窗体」设置页后,下拉列表仅显示Form1,此前通过「项目 >> 添加新项 >> Windows窗体」路径新建的frm_Main未出现在可选列表中,无法完成启动窗体切换。
解决步骤
按优先级从高到低依次排查操作:
- 检查窗体类名与命名空间配置
多数该问题是新建窗体时仅修改了文件名,未同步修改窗体类名,或类所在命名空间与项目根命名空间不匹配导致。
打开frm_Main.vb的代码视图,确认类定义符合如下格式:
不要保留默认的Public Class frm_Main ' 窗体业务代码 End ClassPublic Class Form1定义。同时打开项目属性的「应用程序」页,确认项目根命名空间的值,VB.NET默认新建窗体不会手动声明命名空间,会自动归入项目根命名空间,若你手动为frm_Main添加了自定义命名空间,会导致VS无法扫描到该可启动窗体。 - 检查窗体文件的生成操作属性
在解决方案资源管理器中右键点击frm_Main.vb,选择「属性」,确认「生成操作」选项值为编译。如果该属性被误设为「内容」「无」或其他值,VS不会将该文件识别为可编译的窗体类,自然不会纳入启动窗体可选列表。 - 清理项目缓存强制刷新
VS2022存在项目项缓存未及时更新的已知问题,配置正确但列表不刷新时可按如下操作处理:- 点击顶部菜单「生成 >> 清理解决方案」
- 关闭VS,打开项目本地存储文件夹,删除其中的
.vs隐藏文件夹、bin文件夹、obj文件夹 - 重新打开项目,点击「生成 >> 重新生成解决方案」,再次进入启动窗体设置页查看列表
- 手动编辑项目文件指定启动窗体
以上操作都无效时,可直接修改项目配置绕过界面下拉选择的限制:- 在解决方案资源管理器中右键点击项目节点,选择「卸载项目」,按提示保存变更
- 右键点击已卸载的项目节点,选择「编辑 [你的项目名].vbproj」
- 在打开的XML配置文件中找到
<StartupObject>节点,将节点值修改为[你的项目根命名空间].frm_Main,例如项目根命名空间为TestApp时配置如下:<StartupObject>TestApp.frm_Main</StartupObject> - 保存vbproj文件,右键项目节点选择「重新加载项目」,重新生成后即可将
frm_Main设为启动窗体。
- 额外排查:确认新增项类型正确
检查你添加的frm_Main是否为「Windows窗体」模板项,若误添加了WPF窗口、用户控件、组件等其他类型项,本身就不支持作为Windows Forms项目的启动窗体,不会出现在可选列表中。
内容的提问来源于stack exchange,提问作者Jake
相关产品推荐
相关产品推荐

