使用Roslyn编译xaml

时间:2014-04-16 10:19:11

标签: c# wpf xaml msbuild roslyn

简短的故事:有没有办法使用Roslyn编译器来编译WPF UserControl?

  • 假设您要编译包含标准C#代码和WPF控件(XAML和xaml.cs文件)的程序集,当然没有任何csproj。

  • 我在网上发现了很多关于如何使用Roslyn编译DLL的内容,没有关于如何处理XAML文件的内容?

  • 我知道Visual Studio(或MSBuild)会创建一个临时生成的文件,并在生成的程序集中嵌入一个BAML文件。所以,如果我能找到一种生成这个中间文件的方法,我可以使用它,但我发现的只是PresentationBuildTasks.MarkupCompilePass,最终需要一个csproj(好吧,我可能会动态生成一个项目,但我希望找到更简单的东西。)

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

如果您的目标是将XAML编译为C#,请查看XAML Code Behind Generator,请参阅http://xamlgenerator.codeplex.com/

它是Visual Studio 2010的一个插件,允许您将XAML编译为等效的C#。