MarkupCompilePass1 – úlohaMarkupCompilePass1 task

MarkupCompilePass1Úloha převede soubory projektu XAML, které nejsou lokalizovatelné, do zkompilovaného binárního formátu.The MarkupCompilePass1 task converts non-localizable XAML project files to compiled binary format.

Parametry úlohyTask parameters

ParametrParameter PopisDescription
AllGeneratedFiles Volitelný výstupní parametr ITaskItem [] .Optional ITaskItem[] output parameter.

Obsahuje úplný seznam souborů, které jsou generovány MarkupCompilePass1 úlohou.Contains a complete list of files that are generated by the MarkupCompilePass1 task.
AlwaysCompileMarkupFilesInSeparateDomain Volitelný logický parametr.Optional Boolean parameter.

Určuje, zda má být úloha spuštěna samostatně AppDomain .Specifies whether to run the task in a separate AppDomain. Pokud tento parametr vrátí hodnotu false , úloha bude spuštěna ve stejném AppDomain formátu jako MSBuild a bude spuštěna rychleji.If this parameter returns false , the task runs in the same AppDomain as MSBuild and it runs faster. Pokud parametr vrátí hodnotu true , úloha se spustí za sekundu AppDomain , která je izolovaná od nástroje MSBuild a běží pomaleji.If the parameter returns true , the task runs in a second AppDomain that is isolated from MSBuild and runs slower.
ApplicationMarkup Volitelný parametr ITaskItem [] .Optional ITaskItem[] parameter.

Určuje název souboru XAML definice aplikace.Specifies the name of the application definition XAML file.
AssembliesGeneratedDuringBuild Parametr volitelného řetězce [] .Optional String[] parameter.

Určuje odkazy na sestavení, která se mění během procesu sestavení.Specifies references to assemblies that change during the build process. Například řešení sady Visual Studio může obsahovat jeden projekt, který odkazuje na kompilovaný výstup jiného projektu.For example, a Visual Studio solution may contain one project that references the compiled output of another project. V tomto případě lze zkompilované výstupy druhého projektu přidat do parametru AssembliesGeneratedDuringBuild .In this case, the compiled output of the second project can be added to the AssembliesGeneratedDuringBuild parameter.

Poznámka: parametr AssembliesGeneratedDuringBuild musí obsahovat odkazy na úplnou sadu sestavení, která jsou generována řešením sestavení.Note: The AssembliesGeneratedDuringBuild parameter must contain references to the complete set of assemblies that are generated by a build solution.
AssemblyName Povinný parametr řetězceRequired string parameter.

Určuje krátký název sestavení, který je generován pro projekt.Specifies the short name of the assembly that is generated for a project. Například pokud projekt generuje spustitelný soubor systému Windows, jehož název je WinExeAssembly.exe , parametr AssemblyName má hodnotu WinExeAssembly .For example, if a project is generating a Windows executable whose name is WinExeAssembly.exe , the AssemblyName parameter has a value of WinExeAssembly .
AssemblyPublicKeyToken Volitelný řetězcový parametr.Optional String parameter.

Určuje token veřejného klíče pro sestavení.Specifies the public key token for the assembly.
AssemblyVersion Volitelný řetězcový parametr.Optional String parameter.

Určuje číslo verze sestavení.Specifies the version number of the assembly.
ContentFiles Volitelný parametr ITaskItem [] .Optional ITaskItem[] parameter.

Určuje seznam volných souborů obsahu.Specifies the list of loose content files.
DefineConstants Volitelný řetězcový parametr.Optional String parameter.

Určuje, že aktuální hodnota DefineConstants je zachovaná.Specifies that the current value of DefineConstants , is kept. který ovlivňuje vytváření cílového sestavení; Pokud je tento parametr změněn, může být změněno veřejné rozhraní API v cílovém sestavení a bude ovlivněna kompilace souborů XAML, které odkazují na místní typy.which affects target assembly generation; if this parameter is changed, the public API in the target assembly may be changed and the compilation of XAML files that reference local types may be affected.
ExtraBuildControlFiles Volitelný parametr ITaskItem [] .Optional ITaskItem[] parameter.

Určuje seznam souborů, které určují, jestli se při opakovaném spuštění úlohy aktivuje nové sestavení MarkupCompilePass1 ; nové sestavení se aktivuje, pokud se některý z těchto souborů změní.Specifies a list of files that control whether a rebuild is triggered when the MarkupCompilePass1 task reruns; a rebuild is triggered if one of these files changes.
GeneratedBamlFiles Volitelný výstupní parametr ITaskItem [] .Optional ITaskItem[] output parameter.

Obsahuje seznam generovaných souborů v binárním formátu XAML.Contains the list of generated files in XAML binary format.
GeneratedCodeFiles Volitelný výstupní parametr ITaskItem [] .Optional ITaskItem[] output parameter.

Obsahuje seznam generovaných souborů spravovaného kódu.Contains the list of generated managed code files.
GeneratedLocalizationFiles Volitelný výstupní parametr ITaskItem [] .Optional ITaskItem[] output parameter.

Obsahuje seznam souborů lokalizace, které byly vygenerovány pro každý Lokalizovatelný soubor XAML.Contains the list of localization files that were generated for each localizable XAML file.
HostInBrowser Volitelný řetězcový parametr.Optional String parameter.

Určuje, zda je vygenerované sestavení aplikace prohlížeče XAML (XBAP).Specifies whether the generated assembly is a XAML Browser Application (XBAP). Platné možnosti jsou true a false .The valid options are true and false . Pokud má hodnotu true , vygeneruje se kód pro podporu hostování prohlížeče.If true , code is generated to support browser hosting.
KnownReferencePaths Parametr volitelného řetězce [] .Optional String[] parameter.

Určuje odkazy na sestavení, která se během procesu sestavení nemění.Specifies references to assemblies that do not change during the build process. Zahrnuje sestavení, která jsou umístěna v globální mezipaměti sestavení (GAC), v instalačním adresáři rozhraní .NET atd.Includes assemblies that are located in the global assembly cache (GAC), in a .NET installation directory, and so on.
Language Povinný parametr řetězceRequired String parameter.

Určuje spravovaný jazyk, který podporuje kompilátor.Specifies the managed language that the compiler supports. Platné možnosti jsou C# , VB , JScript a C++ .The valid options are C# , VB , JScript , and C++ .
LanguageSourceExtension Volitelný řetězcový parametr.Optional String parameter.

Určuje rozšíření, které je připojeno k rozšíření generovaného souboru spravovaného kódu:Specifies the extension that is appended to the extension of the generated managed code file:

<Filename>.g<LanguageSourceExtension>

Pokud parametr LanguageSourceExtension není nastaven s konkrétní hodnotou, použije se výchozí přípona názvu zdrojového souboru pro jazyk: . vb pro Visual Basic, . CSharp pro C#.If the LanguageSourceExtension parameter is not set with a specific value, the default source file name extension for a language is used: .vb for Visual Basic, .csharp for C#.
LocalizationDirectivesToLocFile Volitelný řetězcový parametr.Optional String parameter.

Určuje, jak generovat informace o lokalizaci pro každý zdrojový soubor XAML.Specifies how to generate localization information for each source XAML file. Platné možnosti jsou none , CommentsOnly a All .The valid options are None , CommentsOnly , and All .
OutputPath Povinný parametr řetězceRequired String parameter.

Určuje adresář, ve kterém jsou vygenerovány soubory spravovaného kódu a binární formáty XAML.Specifies the directory in which the generated managed code files and XAML binary format files are generated.
OutputType Povinný parametr řetězceRequired String parameter.

Určuje typ sestavení generovaných projektem.Specifies the type of assembly that is generated by a project. Platné možnosti jsou winexe , exe , Library a netmodule .The valid options are winexe , exe , library , and netmodule .
PageMarkup Volitelný parametr ITaskItem [] .Optional ITaskItem[] parameter.

Určuje seznam souborů XAML, které mají být zpracovány.Specifies a list of XAML files to process.
References Volitelný parametr ITaskItem [] .Optional ITaskItem[] parameter.

Určuje seznam odkazů ze souborů na sestavení, která obsahují typy používané v souborech XAML.Specifies the list of references from files to assemblies that contain the types that are used in the XAML files.
RequirePass2ForMainAssembly Volitelný parametr Boolean Output.Optional Boolean output parameter.

Určuje, zda projekt obsahuje nelokalizovatelné soubory XAML, které odkazují na místní typy, které jsou vloženy do hlavního sestavení.Indicates whether the project contains non-localizable XAML files that reference local types that are embedded into the main assembly.
RequirePass2ForSatelliteAssembly Volitelný parametr Boolean Output.Optional Boolean output parameter.

Určuje, zda projekt obsahuje lokalizovatelné soubory XAML, které odkazují na místní typy, které jsou vloženy do hlavního sestavení.Indicates whether the project contains localizable XAML files that reference local types that are embedded in the main assembly.
RootNamespace Volitelný řetězcový parametr.Optional String parameter.

Určuje kořenový obor názvů pro třídy, které jsou uvnitř projektu.Specifies the root namespace for classes that are inside the project. RootNamespace se používá také jako výchozí obor názvů generovaného souboru spravovaného kódu, pokud odpovídající soubor XAML neobsahuje x:Class atribut.RootNamespace is also used as the default namespace of a generated managed code file when the corresponding XAML file does not include the x:Class attribute.
SourceCodeFiles Volitelný parametr ITaskItem [] .Optional ITaskItem[] parameter.

Určuje seznam kódových souborů pro aktuální projekt.Specifies the list of code files for the current project. Seznam neobsahuje vygenerované soubory spravovaného kódu, které jsou specifické pro daný jazyk.The list does not include generated language-specific managed code files.
UICulture Volitelný řetězcový parametr.Optional String parameter.

Určuje satelitní sestavení pro jazykovou verzi uživatelského rozhraní, ve kterém jsou vloženy vygenerované soubory binárního formátu XAML.Specifies the satellite assembly for the UI culture in which the generated XAML binary format files are embedded. Pokud není nastavena sada UICulture , jsou vygenerované soubory binárního formátu XAML vloženy do hlavního sestavení.If UICulture is not set, the generated XAML binary format files are embedded in the main assembly.
XAMLDebuggingInformation Volitelný logický parametr.Optional Boolean parameter.

Je-li nastavena hodnota true , jsou generovány diagnostické informace a zahrnuty do zkompilovaného XAML za účelem podpory ladění.When true , diagnostic information is generated and included in the compiled XAML in order to aid debugging.

PoznámkyRemarks

MarkupCompilePass1Úloha obvykle KOMPILUJE XAML do binárního formátu a generuje soubory kódu.The MarkupCompilePass1 task typically compiles XAML into binary format and generates code files. Pokud soubor XAML obsahuje odkazy na typy, které jsou definovány ve stejném projektu, jeho kompilace do binárního formátu je odložena MarkupCompilePass1 do druhé Pass kompilace kódu ( MarkupCompilePass2 – ).If a XAML file contains references to types that are defined in the same project, its compilation to binary format is deferred by MarkupCompilePass1 to a second markup compilation pass ( MarkupCompilePass2 ). Pro tyto soubory musí být kompilace odložena, protože musí počkat, dokud nebudou zkompilovány místně definované typy.Such files must have their compilation deferred because they must wait until the referenced locally-defined types are compiled. Pokud však soubor XAML obsahuje x:Class atribut, MarkupCompilePass1 vygeneruje pro něj soubor kódu specifický pro daný jazyk.However, if a XAML file has an x:Class attribute, MarkupCompilePass1 generates the language-specific code file for it.

Soubor XAML lze lokalizovat, pokud obsahuje prvky, které používají x:Uid atribut:A XAML file is localizable if it contains elements that use the x:Uid attribute:

<Page x:Class="WPFMSBuildSample.Page1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Uid="Page1Uid"
    >
  ...
</Page>

Soubor XAML odkazuje na místně definovaný typ při deklaraci oboru názvů XML, který používá clr-namespace hodnotu pro odkazování na obor názvů v aktuálním projektu:A XAML file references a locally-defined type when it declares an XML namespace that uses the clr-namespace value to refer to a namespace in the current project:

<Page x:Class="WPFMSBuildSample.Page1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:localNamespace="clr-namespace:WPFMSBuildSample"
    >
    <Grid>
      <Grid.Resources>
        <localNameSpace:LocalType x:Key="localType" />
      </Grid.Resources>
      ...
    </Grid>
</Page>

Pokud je nějaký soubor XAML lokalizovatelné nebo odkazuje na místně definovaný typ, je vyžadován druhý průchod kompilace kódu, který vyžaduje spuštění GenerateTemporaryTargetAssembly – a pak MarkupCompilePass2 –.If any XAML file is localizable, or references a locally-defined type, a second markup compilation pass is required, which requires running the GenerateTemporaryTargetAssembly and then the MarkupCompilePass2.

PříkladExample

Následující příklad ukazuje, jak převést tři soubory XAML stránky do binárních formátů souborů.The following example shows how to convert three Page XAML files to binary format files. Page1 obsahuje odkaz na typ, Class1 který je v kořenovém oboru názvů projektu, a proto není převeden do binárních formátů souborů v tomto průchodu kompilace kódu.Page1 contains a reference to a type, Class1, which is in the root namespace of the project and therefore, is not converted to binary format files in this markup compile pass. Místo toho se spustí GenerateTemporaryTargetAssembly – a za ním následuje MarkupCompilePass2 –.Instead, the GenerateTemporaryTargetAssembly is executed and is followed by the MarkupCompilePass2.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <UsingTask
    TaskName="Microsoft.Build.Tasks.Windows.MarkupCompilePass1"
    AssemblyFile="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationBuildTasks.dll" />
  <Target Name="MarkupCompilePass1Task">
    <MarkupCompilePass1
      AssemblyName="WPFMSBuildSample"
      Language="C#"
      OutputType="WinExe"
      OutputPath="obj\Debug\"
      ApplicationMarkup="App.xaml"
      PageMarkup="Page1.xaml;Page2.xaml;Page3.xaml"
      SourceCodeFiles="Class1.cs"
      References="c:\windows\Microsoft.net\Framework\v2.0.50727\System.dll;C:\Program Files\Reference Assemblies\Microsoft\WinFx\v3.0\PresentationCore.dll;C:\Program Files\Reference Assemblies\Microsoft\WinFx\v3.0\PresentationFramework.dll;C:\Program Files\Reference Assemblies\Microsoft\WinFx\v3.0\WindowsBase.dll" />
  </Target>
</Project>

Viz takéSee also