2009-06-01 12 views

उत्तर

2

वहाँ एक परावर्तक प्लग-इन जो है भार BAML संसाधनों (जैसे स्थानीय संसाधन विधानसभाओं) और इसी XAML से पता चलता युक्त विधानसभाओं:, BamlViewer

जब आप दृश्य स्टूडियो में एक WPF आवेदन संकलन सभी आपकी एक्सएएमएल फाइलें बीएएमएल में परिवर्तित हो जाती हैं, और बीएएमएल को अंतिम डीएलएल या एक्सई असेंबली में संसाधन के रूप में एम्बेड किया जाता है।

+0

असल में, मैं विपरीत चाहता हूं ... –

+0

अपनी परियोजना की obj \ Debug निर्देशिका हंस में देखें। विजुअल स्टूडियो बीएएमएल फाइलें उत्पन्न कर रहा है और उन्हें अंतिम डीएलएल या एक्सई में एम्बेड करने से पहले वहां डाल रहा है। –

+0

मैं बेहद इसकी तलाश कर रहा था .. – viky

11

आप एक एमएसबील्ड परियोजना फ़ाइल बनाकर एक्सएएमएल संकलित कर सकते हैं जो इसका संदर्भ देता है। जब आप अपनी प्रोजेक्ट पर संकलन करते हैं तो यह विजुअल स्टूडियो "कवर के तहत" होता है (यह एक अस्थायी .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> 

और तुम तो आदेश चलाकर BAML फाइल उत्पन्न कर सकते हैं:

MSBuild /t:ResolveReferences;MarkupCompilePass1;MarkupCompilePass2 xamlcompile.csproj 

यह एक पैदा करेगा obj \ Debug के तहत baml फ़ाइल, ऊपर दिए गए उदाहरण में यह obj \ Debug \ Themes \ Generic.baml होगा।

उम्मीद है कि मदद करता है।