CMake生成的WPF项目VS上下文菜单异常,需如何配置修复?
解决CMake生成WPF项目时Add菜单显示Windows Forms而非WPF选项的问题
问题核心是CMake生成的项目未正确标识为WPF类型,导致Visual Studio加载了错误的模板上下文菜单。需要在CMake配置中补充以下关键设置:
指定WPF项目类型GUID:在
add_executable或add_library指令后,添加项目类型标识,明确告诉Visual Studio这是WPF项目:set_property(TARGET Example PROPERTY VS_GLOBAL_ProjectTypeGUID "{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}")该GUID是Visual Studio标准WPF应用项目的类型ID,会替换默认的WinForms或通用C#项目标识。
添加WPF专属属性标记:补充属性确保项目关联WPF模板体系:
set_property(TARGET Example PROPERTY VS_GLOBAL_WpfProject "true") set_property(TARGET Example PROPERTY VS_GLOBAL_UseWPF "true")确保项目包含WPF文件:如果项目中还没有
.xaml类文件,建议先添加至少一个(比如MainWindow.xaml),并通过CMake正确纳入源文件列表:set(SOURCE_FILES App.xaml App.xaml.cs MainWindow.xaml MainWindow.xaml.cs Program.cs ) add_executable(Example ${SOURCE_FILES})Visual Studio会依据项目内的文件类型辅助识别项目类型,添加WPF文件能强化项目的WPF属性判定。
完成以上配置后,重新生成CMake项目并刷新Visual Studio解决方案,Add上下文菜单就会显示常规WPF项目中的选项(如WPF窗口、用户控件等)。
内容的提问来源于stack exchange,提问作者Jeffrey Faust
相关产品推荐
相关产品推荐

