我正在使用Roslyn解析非常基本的WPF解决方案。我设置了诊断程序,发现以下错误:
MainWindow.xaml.cs(25,13):错误CS0103:名称 当前上下文中不存在“ InitializeComponent”
错误CS5001:程序不包含适合的静态“ Main”方法 进入点
有什么办法解决这个问题吗?
更新
所以我添加了一个main方法,现在出现以下错误:
App.xaml.cs(20,17):错误CS1061:“ App”不包含定义 对于“ InitializeComponent”,没有扩展方法 接受类型为“ App”的第一个参数的“ InitializeComponent”可以 被找到(您是否缺少using指令或程序集引用?)
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();
}
}
答案 0 :(得分:4)
如果要使用类似于以下代码的方式加载此解决方案:
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