Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zadanie MarkupCompilePass1 konwertuje nielokalizowalne pliki projektu XAML na skompilowany format binarny.
Parametry zadania
| Parametr | Opis |
|---|---|
AllGeneratedFiles |
Opcjonalny parametr wyjściowy ITaskItem[] . Zawiera pełną listę plików generowanych przez MarkupCompilePass1 zadanie. |
AlwaysCompileMarkupFilesInSeparateDomain |
Opcjonalny parametr logiczny . Określa, czy należy uruchomić zadanie w osobnym AppDomainobiekcie . Jeśli ten parametr zwraca wartość false, zadanie jest uruchamiane w taki sam AppDomain sposób jak program MSBuild i działa szybciej. Jeśli parametr zwraca wartość true, zadanie jest uruchamiane w sekundzie AppDomain odizolowanej od programu MSBuild i działa wolniej. |
ApplicationMarkup |
Opcjonalny parametr ITaskItem[] . Określa nazwę pliku XAML definicji aplikacji. |
AssembliesGeneratedDuringBuild |
Opcjonalny parametr String[] . Określa odwołania do zestawów, które zmieniają się podczas procesu kompilacji. Na przykład rozwiązanie programu Visual Studio może zawierać jeden projekt, który odwołuje się do skompilowanych danych wyjściowych innego projektu. W takim przypadku skompilowane dane wyjściowe drugiego projektu można dodać do parametru AssembliesGeneratedDuringBuild . Uwaga: Parametr AssembliesGeneratedDuringBuild musi zawierać odwołania do kompletnego zestawu zestawów generowanych przez rozwiązanie kompilacji. |
AssemblyName |
Wymagany parametr ciągu . Określa krótką nazwę zestawu, który jest generowany dla projektu. Jeśli na przykład projekt generuje plik wykonywalny systemu Windows, którego nazwa to WinExeAssembly.exe, parametr AssemblyName ma wartość WinExeAssembly. |
AssemblyPublicKeyToken |
Opcjonalny parametr ciągu . Określa token klucza publicznego dla zestawu. |
AssemblyVersion |
Opcjonalny parametr ciągu . Określa numer wersji zestawu. |
ContentFiles |
Opcjonalny parametr ITaskItem[] . Określa listę luźnych plików zawartości. |
DefineConstants |
Opcjonalny parametr ciągu . Określa, że bieżąca wartość DefineConstants jest przechowywana. co wpływa na generowanie zestawu docelowego; Jeśli ten parametr zostanie zmieniony, publiczny interfejs API w zestawie docelowym może zostać zmieniony, a na kompilację plików XAML odwołujących się do typów lokalnych może mieć wpływ. |
ExtraBuildControlFiles |
Opcjonalny parametr ITaskItem[] . Określa listę plików, które kontrolują, czy ponowna kompilacja jest wyzwalana po ponownym uruchomieniu MarkupCompilePass1 zadania; ponowne kompilowanie jest wyzwalane, jeśli jeden z tych plików ulegnie zmianie. |
GeneratedBamlFiles |
Opcjonalny parametr wyjściowy ITaskItem[] . Zawiera listę wygenerowanych plików w formacie binarnym XAML. |
GeneratedCodeFiles |
Opcjonalny parametr wyjściowy ITaskItem[] . Zawiera listę wygenerowanych plików kodu zarządzanego. |
GeneratedLocalizationFiles |
Opcjonalny parametr wyjściowy ITaskItem[] . Zawiera listę plików lokalizacji, które zostały wygenerowane dla każdego zlokalizowanego pliku XAML. |
HostInBrowser |
Opcjonalny parametr ciągu . Określa, czy wygenerowany zestaw jest aplikacją przeglądarki XAML (XBAP). Prawidłowe opcje to true i false. Jeśli to prawda, kod jest generowany w celu obsługi hostingu przeglądarki. |
KnownReferencePaths |
Opcjonalny parametr String[] . Określa odwołania do zestawów, które nie zmieniają się podczas procesu kompilacji. Obejmuje zestawy znajdujące się w globalnej pamięci podręcznej zestawów (GAC) w katalogu instalacyjnym platformy .NET itd. |
Language |
Wymagany parametr ciągu . Określa język zarządzany, który obsługuje kompilator. Prawidłowe opcje to C#, VB, JScript i C++. |
LanguageSourceExtension |
Opcjonalny parametr ciągu . Określa rozszerzenie, które jest dołączane do rozszerzenia wygenerowanego pliku kodu zarządzanego: <Filename>.g<LanguageSourceExtension>Jeśli parametr LanguageSourceExtension nie jest ustawiony z określoną wartością, jest używane domyślne rozszerzenie nazwy pliku źródłowego dla języka: .vb dla języka Visual Basic, .csharp dla języka C#. |
LocalizationDirectivesToLocFile |
Opcjonalny parametr ciągu . Określa sposób generowania informacji o lokalizacji dla każdego źródłowego pliku XAML. Prawidłowe opcje to Brak, KomentarzeOnly i Wszystkie. |
OutputPath |
Wymagany parametr ciągu . Określa katalog, w którym są generowane pliki kodu zarządzanego i pliki formatu binarnego XAML. |
OutputType |
Wymagany parametr ciągu . Określa typ zestawu generowanego przez projekt. Prawidłowe opcje to winexe, exe, library i netmodule. |
PageMarkup |
Opcjonalny parametr ITaskItem[] . Określa listę plików XAML do przetworzenia. |
References |
Opcjonalny parametr ITaskItem[] . Określa listę odwołań z plików do zestawów zawierających typy używane w plikach XAML. |
RequirePass2ForMainAssembly |
Opcjonalny parametr wyjściowy wartości logicznej. Wskazuje, czy projekt zawiera nielokowalne pliki XAML odwołujące się do typów lokalnych osadzonych w głównym zestawie. |
RequirePass2ForSatelliteAssembly |
Opcjonalny parametr wyjściowy wartości logicznej. Wskazuje, czy projekt zawiera lokalizowalne pliki XAML odwołujące się do typów lokalnych osadzonych w głównym zestawie. |
RootNamespace |
Opcjonalny parametr ciągu . Określa przestrzeń nazw katalogu głównego dla klas, które znajdują się wewnątrz projektu. RootNamespace jest również używana jako domyślna przestrzeń nazw wygenerowanego pliku kodu zarządzanego, gdy odpowiedni plik XAML nie zawiera atrybutu x:Class . |
SourceCodeFiles |
Opcjonalny parametr ITaskItem[] . Określa listę plików kodu dla bieżącego projektu. Lista nie zawiera wygenerowanych plików kodu zarządzanego specyficznego dla języka. |
UICulture |
Opcjonalny parametr ciągu . Określa zestaw satelitarny kultury interfejsu użytkownika, w której są osadzone wygenerowane pliki formatu binarnego XAML. Jeśli funkcja UICulture nie jest ustawiona, wygenerowane pliki formatu binarnego XAML są osadzone w głównym zestawie. |
XAMLDebuggingInformation |
Opcjonalny parametr logiczny . W przypadku wartości true informacje diagnostyczne są generowane i uwzględniane w skompilowanym kodzie XAML w celu pomocy w debugowaniu. |
Uwagi
Zadanie MarkupCompilePass1 zwykle kompiluje kod XAML w formacie binarnym i generuje pliki kodu. Jeśli plik XAML zawiera odwołania do typów zdefiniowanych w tym samym projekcie, jego kompilacja do formatu binarnego jest odroczona przez markupCompilePass1 do drugiego przebiegu kompilacji znaczników (MarkupCompilePass2). Takie pliki muszą odroczyć kompilację, ponieważ muszą poczekać na skompilowanie odwołanych lokalnie typów. Jeśli jednak plik XAML ma x:Class atrybut, MarkupCompilePass1 generuje plik kodu specyficzny dla języka.
Plik XAML jest lokalizowalny, jeśli zawiera elementy używające atrybutu x:Uid :
<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>
Plik XAML odwołuje się do typu zdefiniowanego lokalnie podczas deklarowania przestrzeni nazw XML, która używa clr-namespace wartości do odwoływania się do przestrzeni nazw w bieżącym projekcie:
<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>
Jeśli jakikolwiek plik XAML jest lokalizowalny lub odwołuje się do typu zdefiniowanego lokalnie, wymagany jest drugi kod kompilacji znaczników, który wymaga uruchomienia elementu GenerateTemporaryTargetAssembly , a następnie markupCompilePass2.
Przykład
W poniższym przykładzie pokazano, jak przekonwertować trzy pliki XAML strony na pliki formatu binarnego. Strona Page1 zawiera odwołanie do typu , Class1który znajduje się w głównej przestrzeni nazw projektu i dlatego nie jest konwertowany na pliki formatu binarnego w tym przekazaniu kompilacji znaczników. Zamiast tego jest wykonywany element GenerateTemporaryTargetAssembly i następuje po nim markupCompilePass2.
<Project>
<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>