risposta
C'è un riflettore plug-in che carica assemblee contenenti risorse BAML (ad esempio assemblee di risorse localizzate) e l'indicazione del corrispondente XAML: BamlViewer
Quando si compila un'applicazione WPF in Visual Studio, tutti i file XAML vengono convertiti in BAML e BAML viene quindi incorporato come risorsa nell'assembly DLL o EXE finale.
È possibile compilare XAML creando un file di progetto MSBuild che lo faccia riferimento. Questo è ciò che accade in Visual Studio "sotto le copertine" quando esegui una compilazione sul tuo progetto (crea un file .proj temporaneo e lo costruisce).
Un file di progetto piuttosto limitata (xamlcompile.csproj) è qualcosa di simile:
<?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>
e si può quindi generare il file BAML eseguendo il comando:
MSBuild /t:ResolveReferences;MarkupCompilePass1;MarkupCompilePass2 xamlcompile.csproj
Questo creerà un baml file sotto obj \ Debug, nell'esempio sopra sarà obj \ Debug \ Themes \ Generic.baml.
Spero che questo aiuti.
- 1. Perché XAML è compilato in BAML e non in C#
- 2. Che cos'è il file .baml?
- 3. TextBox WPF non compila StackPanel
- 4. Come viene interpretato ed eseguito XAML in fase di runtime?
- 5. Compila/esegui assemblatore in Linux?
- 6. StringFormat in XAML
- 7. Converti un'immagine in XAML?
- 8. popup centrale in XAML
- 9. Override in XAML
- 10. Generics in XAML
- 11. Costanti in XAML
- 12. Cosa significa * in XAML
- 13. x: significato in XAML
- 14. TabItem in XAML separata
- 15. Converti HTML in XAML
- 16. Set DataContext in XAML
- 17. Rinomina controllo in XAML
- 18. Windows 8 compila JavaScript?
- 19. Compila automaticamente query Linq
- 20. Maven salta compila
- 21. Compila Swift su 10.9?
- 22. Dove compila cython pyximport?
- 23. Compila struct with String []?
- 24. perché compila --list.end()?
- 25. Compila OpenCV senza GPU?
- 26. Quando Rails compila CoffeeScript?
- 27. Come si compila CoffeeScript in un Jakefile?
- 28. Vaadin Compila i widget (addons) in NetBeans
- 29. Incorporare un System.String in XAML
- 30. riutilizzo oggetto percorso in XAML
in realtà, voglio il contrario ... –
Cerca nella directory obj \ Debug del tuo progetto Hans. Visual Studio genera file BAML e li inserisce prima di incorporarli nella DLL o EXE finale. –
stavo cercando disperatamente questo .. – viky