Respuesta
No es un plug-in reflector que carga ensamblajes que contienen recursos BAML (por ejemplo, asambleas de recursos localizados) y muestra el XAML correspondiente: BamlViewer
Al compilar una aplicación de WPF en Visual Studio, todos sus archivos XAML se convierten en BAML, y ese BAML luego se incorpora como un recurso en el ensamblado final DLL o EXE.
Puede compilar el XAML creando un archivo de proyecto MSBuild que lo haga referencia. Esto es lo que sucede en Visual Studio "under the covers" cuando haces una compilación en tu proyecto (crea un archivo .proj temporal y lo construye).
Un archivo de proyecto bastante mínima (xamlcompile.csproj) es algo como esto:
<?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>
Y a continuación, puede generar el archivo BAML mediante la ejecución del comando:
MSBuild /t:ResolveReferences;MarkupCompilePass1;MarkupCompilePass2 xamlcompile.csproj
Esto creará una archivo baml en obj \ Debug, en el ejemplo anterior será obj \ Debug \ Themes \ Generic.baml.
Espero que ayude.
- 1. Por qué XAML está compilado en BAML y no en C#
- 2. Descompilador/Visualizador BAML
- 3. ¿Qué es un archivo .baml?
- 4. Reemplazar etiqueta en xaml VS2010 editor xaml
- 5. Compila lua incrustado en C
- 6. Conjunto DataContext en XAML
- 7. Assembly Alias en XAML
- 8. x: significado en XAML
- 9. Usar System.Type en XAML
- 10. Constantes en XAML
- 11. Qué significa * en XAML
- 12. Acceso DisplayName en xaml
- 13. Disparadores en XAML
- 14. genéricos en XAML
- 15. Dividir un XAML grande en cantidad de archivos Sub-XAML
- 16. ¿Por qué compila esto?
- 17. ¿Windows 8 compila JavaScript?
- 18. ¿Cuándo compila Rails CoffeeScript?
- 19. self.delegate respondsToSelector: ... no compila
- 20. de Hamcrest no compila
- 21. ¿Por qué compila?
- 22. Sangría - XAML
- 23. ¿Cómo compila CoffeeScript en un Jakefile?
- 24. compila errores usando signal.h en Linux
- 25. ¿Por qué compila esto en Ideone?
- 26. ¿Compila vistas en tiempo de compilación VS2010?
- 27. ¿Compila/ejecuta el ensamblador en Linux?
- 28. ¿Crear un diccionario en xaml?
- 29. Desactivar estilo en WPF XAML?
- 30. Grupos WPF RadioButton en Xaml
en realidad, quiero lo opuesto ... –
Mire en el directorio obj \ Debug de su proyecto Hans. Visual Studio genera archivos BAML y los coloca allí antes de incrustarlos en la DLL o EXE final. –
Estaba buscando desesperadamente esto .. – viky