Aracılığıyla paylaş


MarkupCompilePass2 görevi

Görev, MarkupCompilePass2 aynı projedeki türlere başvuran XAML dosyalarında ikinci geçiş işaretleme derlemesi gerçekleştirir.

Görev parametreleri

Parametre Tanım
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.
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'e eklenebilir.

Not: AssembliesGeneratedDuringBuild , derleme çözümü tarafından oluşturulan bütünleştirilmiş kod kümesine başvurular 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 yürütülebilir dosya oluşturuyorsa AssemblyName parametresi winExeAssembly değerine sahiptir.
GeneratedBaml İsteğe bağlı ITaskItem[] çıkış parametresi.

Oluşturulan dosyaların listesini XAML ikili biçiminde içerir.
KnownReferencePaths İsteğe Bağlı String[] parametresi.

Derleme işlemi sırasında hiçbir zaman değiştirilmemiş 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.
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 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.
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. Bir başvuru, görev tarafından GenerateTemporaryTargetAssembly oluşturulan ve görevden önce çalıştırılması gereken derlemeye başvurudur MarkupCompilePass2 .
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.
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

MarkupCompilePass2'yi çalıştırmadan önce, işaretleme derleme geçişi ertelenen XAML dosyaları tarafından kullanılan türleri içeren geçici bir derleme oluşturmanız gerekir. GenerateTemporaryTargetAssembly görevini çalıştırarak geçici derlemeyi oluşturursunuz.

Oluşturulan geçici derlemeye başvuru çalıştırıldığında sağlanır ve derlemesi ilk işaretleme derlemesinde ertelenen XAML dosyalarının şimdi ikili biçime derlenmesine izin verilir MarkupCompilePass2 .

Örnek

Aşağıdaki örnekte, ikinci bir geçiş derlemesi MarkupCompilePass2 gerçekleştirmek için görevin nasıl kullanılacağı gösterilmektedir.

<Project>
  <UsingTask
    TaskName="Microsoft.Build.Tasks.Windows.MarkupCompilePass2"
    AssemblyFile="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationBuildTasks.dll" />
  <Target Name="MarkupCompilePass2Task">
    <MarkupCompilePass2
      AssemblyName="WPFMSBuildSample"
      Language="C#"
      OutputType="WinExe"
      OutputPath="obj\Debug\"
      References=".\obj\debug\WPFMSBuildSample.exe;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>

Ayrıca bkz.