Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Görev, MarkupCompilePass1 yerelleştirilebilir olmayan XAML proje dosyalarını derlenmiş ikili biçime dönüştürür.
Görev parametreleri
| Parametre | Tanım |
|---|---|
AllGeneratedFiles |
İsteğe bağlı ITaskItem[] çıkış parametresi. Görev tarafından MarkupCompilePass1 oluşturulan dosyaların tam listesini içerir. |
AlwaysCompileMarkupFilesInSeparateDomain |
İsteğe bağlı Boole parametresi. Görevin ayrı AppDomainbir içinde çalıştırılıp çalıştırılmayacağını belirtir. Bu parametre false döndürürse, görev MSBuild ile aynı AppDomain şekilde çalışır ve daha hızlı çalışır. Parametresi true döndürürse, görev MSBuild'den yalıtılmış ve daha yavaş çalışan bir saniyede AppDomain çalışır. |
ApplicationMarkup |
İsteğe bağlı ITaskItem[] parametresi. Uygulama tanımı XAML dosyasının adını belirtir. |
AssembliesGeneratedDuringBuild |
İsteğe Bağlı String[] parametresi. Derleme işlemi sırasında değişen derlemelere başvuruları belirtir. Örneğin, bir Visual Studio çözümü başka bir projenin derlenmiş çıkışına başvuran bir proje içerebilir. Bu durumda, ikinci projenin derlenmiş çıkışı AssembliesGeneratedDuringBuild parametresine eklenebilir. Not: AssembliesGeneratedDuringBuild parametresi, derleme çözümü tarafından oluşturulan bütünleştirilmiş kod kümesinin tamamının başvurularını içermelidir. |
AssemblyName |
Gerekli dize parametresi. Bir proje için oluşturulan derlemenin kısa adını belirtir. Örneğin, bir proje adı WinExeAssembly.exe olan bir Windows yürütülebilir dosyası oluşturuyorsa AssemblyName parametresi winExeAssembly değerine sahiptir. |
AssemblyPublicKeyToken |
İsteğe bağlı Dize parametresi. Derleme için ortak anahtar belirtecini belirtir. |
AssemblyVersion |
İsteğe bağlı Dize parametresi. Derlemenin sürüm numarasını belirtir. |
ContentFiles |
İsteğe bağlı ITaskItem[] parametresi. Gevşek içerik dosyalarının listesini belirtir. |
DefineConstants |
İsteğe bağlı Dize parametresi. DefineConstants öğesinin geçerli değerinin tutulduğunu belirtir. hedef derleme oluşturmayı etkileyen; bu parametre değiştirilirse, hedef derlemedeki genel API değiştirilebilir ve yerel türlere başvuran XAML dosyalarının derlenmesi etkilenebilir. |
ExtraBuildControlFiles |
İsteğe bağlı ITaskItem[] parametresi. Görev yeniden çalıştırıldığında MarkupCompilePass1 yeniden derlemenin tetiklenip tetiklenmeyeceğini denetleyebilen dosyaların listesini belirtir; bu dosyalardan biri değişirse yeniden derleme tetiklenebilir. |
GeneratedBamlFiles |
İsteğe bağlı ITaskItem[] çıkış parametresi. Oluşturulan dosyaların listesini XAML ikili biçiminde içerir. |
GeneratedCodeFiles |
İsteğe bağlı ITaskItem[] çıkış parametresi. Oluşturulan yönetilen kod dosyalarının listesini içerir. |
GeneratedLocalizationFiles |
İsteğe bağlı ITaskItem[] çıkış parametresi. Her yerelleştirilebilir XAML dosyası için oluşturulan yerelleştirme dosyalarının listesini içerir. |
HostInBrowser |
İsteğe bağlı Dize parametresi. Oluşturulan derlemenin bir XAML Tarayıcı Uygulaması (XBAP) olup olmadığını belirtir. Geçerli seçenekler true ve false'tur. True ise, tarayıcı barındırmayı desteklemek için kod oluşturulur. |
KnownReferencePaths |
İsteğe Bağlı String[] parametresi. Derleme işlemi sırasında değişmeyen derlemelere başvuruları belirtir. Genel derleme önbelleğinde (GAC), bir .NET yükleme dizininde vb. bulunan derlemeleri içerir. |
Language |
Gerekli Dize parametresi. Derleyicinin desteklediği yönetilen dili belirtir. Geçerli seçenekler C#, VB, JScript ve C++'tır. |
LanguageSourceExtension |
İsteğe bağlı Dize parametresi. Oluşturulan yönetilen kod dosyasının uzantısına eklenen uzantıyı belirtir: <Filename>.g<LanguageSourceExtension>LanguageSourceExtension parametresi belirli bir değerle ayarlanmadıysa, bir dilin varsayılan kaynak dosya adı uzantısı kullanılır: Visual Basic için .vb, C# için .csharp. |
LocalizationDirectivesToLocFile |
İsteğe bağlı Dize parametresi. Her kaynak XAML dosyası için yerelleştirme bilgilerinin nasıl oluşturulacağı belirtir. Geçerli seçenekler None, CommentsOnly ve All seçenekleridir. |
OutputPath |
Gerekli Dize parametresi. Oluşturulan yönetilen kod dosyalarının ve XAML ikili biçim dosyalarının oluşturulduğu dizini belirtir. |
OutputType |
Gerekli Dize parametresi. Bir proje tarafından oluşturulan derleme türünü belirtir. Geçerli seçenekler winexe, exe, library ve netmodule'dır. |
PageMarkup |
İsteğe bağlı ITaskItem[] parametresi. İşlenmek üzere XAML dosyalarının listesini belirtir. |
References |
İsteğe bağlı ITaskItem[] parametresi. Dosyalardan XAML dosyalarında kullanılan türleri içeren derlemelere yapılan başvuruların listesini belirtir. |
RequirePass2ForMainAssembly |
İsteğe bağlı Boole çıkış parametresi. Projenin ana derlemeye eklenmiş yerel türlere başvuran yerelleştirilebilir olmayan XAML dosyaları içerip içermediğini gösterir. |
RequirePass2ForSatelliteAssembly |
İsteğe bağlı Boole çıkış parametresi. Projenin ana derlemeye eklenmiş yerel türlere başvuran yerelleştirilebilir XAML dosyaları içerip içermediğini gösterir. |
RootNamespace |
İsteğe bağlı Dize parametresi. Projenin içindeki sınıflar için kök ad alanını belirtir. RootNamespace , ilgili XAML dosyası özniteliği içermediğinde oluşturulan yönetilen kod dosyasının x:Class varsayılan ad alanı olarak da kullanılır. |
SourceCodeFiles |
İsteğe bağlı ITaskItem[] parametresi. Geçerli proje için kod dosyalarının listesini belirtir. Liste, oluşturulan dile özgü yönetilen kod dosyalarını içermez. |
UICulture |
İsteğe bağlı Dize parametresi. Oluşturulan XAML ikili biçim dosyalarının eklendiği UI kültürü için uydu derlemesini belirtir. UICulture ayarlanmamışsa, oluşturulan XAML ikili biçim dosyaları ana derlemeye eklenir. |
XAMLDebuggingInformation |
İsteğe bağlı Boole parametresi. True olduğunda, hata ayıklamaya yardımcı olmak için tanılama bilgileri oluşturulur ve derlenen XAML'ye eklenir. |
Açıklamalar
Görev MarkupCompilePass1 genellikle XAML'yi ikili biçimde derler ve kod dosyaları oluşturur. Bir XAML dosyası aynı projede tanımlanan türlere başvurular içeriyorsa, ikili biçime derlemesi MarkupCompilePass1 tarafından ikinci bir işaretleme derleme geçişi (MarkupCompilePass2) ile ertelenmiştir. Başvuruda bulunan yerel olarak tanımlanan türler derlenene kadar beklemeleri gerektiğinden, bu tür dosyaların derlemesi ertelenmelidir. Ancak, bir XAML dosyasının özniteliği x:Class varsa, MarkupCompilePass1 bunun için dile özgü kod dosyasını oluşturur.
XAML dosyası, özniteliğini kullanan x:Uid öğeler içeriyorsa yerelleştirilebilir:
<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>
XAML dosyası, geçerli projedeki bir ad alanına başvurmak için değerini kullanan clr-namespace bir XML ad alanı bildirdiğinde yerel olarak tanımlanmış bir türe başvurur:
<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>
Herhangi bir XAML dosyası yerelleştirilebilirse veya yerel olarak tanımlanmış bir türe başvuruyorsa, GenerateTemporaryTargetAssembly ve ardından MarkupCompilePass2'nin çalıştırılmasını gerektiren ikinci bir işaretleme derleme geçişi gerekir.
Örnek
Aşağıdaki örnekte üç Sayfa XAML dosyasının ikili biçim dosyalarına nasıl dönüştürüldüğü gösterilmektedir. Page1 , Class1projenin kök ad alanında olan ve bu nedenle bu işaretleme derleme geçişindeki ikili biçim dosyalarına dönüştürülmeyen bir türe başvuru içerir. Bunun yerine GenerateTemporaryTargetAssembly yürütülür ve ardından MarkupCompilePass2 gelir.
<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>