Wpf 将Xaml编译成Baml?
如何将xaml转换为bamlWpf 将Xaml编译成Baml?,wpf,xaml,baml,Wpf,Xaml,Baml,如何将xaml转换为baml 感谢有一个Reflector插件,用于加载包含BAML资源的程序集(例如本地化的资源程序集),并显示相应的XAML: 在Visual Studio中编译WPF应用程序时,所有XAML文件都将转换为BAML,然后BAML将作为资源嵌入到最终的DLL或EXE程序集中。可以通过创建引用XAML的MSBuild项目文件来编译XAML。这就是在VisualStudio“幕后”中对项目进行编译时发生的情况(它会创建一个临时的.proj文件并构建它) 相当小的项目文件(xamlc
感谢有一个Reflector插件,用于加载包含BAML资源的程序集(例如本地化的资源程序集),并显示相应的XAML:
在Visual Studio中编译WPF应用程序时,所有XAML文件都将转换为BAML,然后BAML将作为资源嵌入到最终的DLL或EXE程序集中。可以通过创建引用XAML的MSBuild项目文件来编译XAML。这就是在VisualStudio“幕后”中对项目进行编译时发生的情况(它会创建一个临时的.proj文件并构建它) 相当小的项目文件(xamlcompile.csproj)如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<OutputType>library</OutputType>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<ProjectGuid>{6B8967FF-37B7-43E8-B866-FFD6F13FFC0A}</ProjectGuid>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="PresentationFramework.Classic" />
</ItemGroup>
<ItemGroup>
<Page Include="Themes\Generic.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
这将在obj\Debug下创建一个baml文件,在上面的示例中,它将是obj\Debug\Themes\Generic.baml
希望有帮助。查看项目的obj\Debug目录。Visual Studio正在生成BAML文件,并在将它们嵌入最终的DLL或EXE之前将它们放在那里。请downvoter(对于这个非常古老的答案)留下评论。谢谢
MSBuild /t:ResolveReferences;MarkupCompilePass1;MarkupCompilePass2 xamlcompile.csproj