2009-06-01 4 views

答えて

2

ありリフレクタープラグインをロードアセンブリはBAMLリソース(例えばローカライズされたリソースアセンブリ)を含むことがあり、対応するXAMLを示しています。あなたは、Visual StudioでWPFアプリケーションをコンパイルするとBamlViewer

を、すべてのXAMLファイルはBAMLに変換され、BAMLはリソースとして最終的なDLLまたはEXEアセンブリに埋め込まれます。

+0

実際には、私は反対をしたい... –

+0

あなたのプロジェクトのobj \ DebugディレクトリHansを見てください。 Visual StudioはBAMLファイルを生成し、最終的なDLLまたはEXEファイルに埋め込む前にそれらを配置します。 –

+0

私は必死にこれを探していました.. – viky

11

XAMLを参照するMSBuildプロジェクトファイルを作成して、XAMLをコンパイルできます。これは、プロジェクトでコンパイル(一時的な.projファイルを作成してビルド)するときにVisual Studioの「カバーの下」で行われます。

かなり最小限のプロジェクトファイル(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になります。

希望に役立ちます。

関連する問題