c# - 当前上下文中不存在“InitializeComponent”
问题描述
我正在使用 Roslyn 解析一个非常基本的 WPF 解决方案。我设置了诊断程序并发现以下错误:
MainWindow.xaml.cs(25,13):错误 CS0103:当前上下文中不存在名称“InitializeComponent”
错误 CS5001:程序不包含适用于入口点的静态“Main”方法
知道如何解决这个问题吗?
更新
所以我添加了一个主要方法,现在我收到以下错误:
App.xaml.cs(20,17):错误 CS1061:“App”不包含“InitializeComponent”的定义,并且找不到接受“App”类型的第一个参数的扩展方法“InitializeComponent”(您是否缺少使用指令还是程序集引用?)
MainWindow.xaml.cs(25,13):错误 CS0103:当前上下文中不存在名称“InitializeComponent”
这里是主要方法
public partial class App : Application
{
[STAThread]
public static void Main()
{
var app = new App();
app.InitializeComponent();
app.Run();
}
}
解决方案
如果您使用类似于以下的代码加载此解决方案:
var ws = MSBuildWorkspace.Create();
var solution = await ws.OpenSolutionAsync(path);
那么问题是您没有分析应该从 .xaml 文件生成的代码。这可以通过将上面的代码更改为:
var properties = new Dictionary<string, string> { ["DesignTimeBuild"] = "true" };
var ws = MSBuildWorkspace.Create(properties);
var solution = await ws.OpenSolutionAsync(path);
有关更多信息,另请参阅https://github.com/dotnet/roslyn/issues/2779
推荐阅读
- vue.js - 如何引用 Vue 组件的 this 而不是 D3 的 this 实例
- c# - Razor 自定义错误页面忽略它的 OnGet 处理程序
- git - 为什么我的 git init 命令会自动创建一个 .gitignore 文件
- html - 如何使标题保持在顶部,并在其自身和内容下方之间形成一条适合空间的行
- autodesk-forge - 在设计自动化中创建查看器 SVF
- javascript - 如何使用 express js 将请求正文插入 MySQL 数据库?
- vb.net - 无法将覆盖表单定位到父级的中心
- qt - QAbstractTableModel 更新背景颜色
- vue.js - 如何使用 Vue Js 为 Web 应用程序创建屏幕保护程序?
- django - Django - 在数据库中获取两个条目,一个为空,另一个包含所有数据