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.
Projedeki GenerateTemporaryTargetAssembly en az bir XAML sayfası bu projede yerel olarak bildirilen bir türe başvuruda bulunursa, görev bir derleme oluşturur. Oluşturulan derleme, derleme işlemi tamamlandıktan sonra veya derleme işlemi başarısız olursa kaldırılır.
Görev parametreleri
| Parametre | Tanım |
|---|---|
AssemblyName |
Gerekli Dize parametresi. Bir proje için oluşturulan derlemenin kısa adını belirtir ve ayrıca geçici olarak oluşturulan hedef derlemenin adıdır. Örneğin, bir proje adı WinExeAssembly.exe olan bir Windows yürütülebilir dosyası oluşturursa AssemblyName parametresi winExeAssembly değerine sahiptir. |
CompileTargetName |
Gerekli Dize parametresi. Kaynak kod dosyalarından derleme oluşturmak için kullanılan MSBuild hedefinin adını belirtir. CompileTargetName için tipik değer CoreCompile'dir. |
CompileTypeName |
Gerekli Dize parametresi. CompileTargetName parametresi tarafından belirtilen hedef tarafından gerçekleştirilen derleme türünü belirtir. CoreCompile hedefi için bu değer Derle'dir. |
CurrentProject |
Gerekli Dize parametresi. Geçici bir hedef derleme gerektiren proje için MSBuild proje dosyasının tam yolunu belirtir. |
GeneratedCodeFiles |
İsteğe bağlı ITaskItem[] parametresi. MarkupCompilePass1 görevi tarafından oluşturulan dile özgü yönetilen kod dosyalarının listesini belirtir. |
IntermediateOutputPath |
Gerekli Dize parametresi. Geçici hedef derlemenin oluşturulduğu dizini belirtir. |
MSBuildBinPath |
Gerekli Dize parametresi. Geçici hedef derlemeyi derlemek için gereken MSBuild.exe dosyasının konumunu belirtir. |
ReferencePath |
İsteğe bağlı ITaskItem[] parametresi. Geçici hedef derlemede derlenen türler tarafından başvuruda bulunılan, yola ve dosya adına göre derlemelerin listesini belirtir. |
ReferencePathTypeName |
Gerekli Dize parametresi. Derleme başvurularının (ReferencePath) listesini belirten derleme hedefi (CompileTargetName) parametresi tarafından kullanılan parametreyi belirtir. Uygun değer ReferencePath'tir. |
Açıklamalar
MarkupCompilePass1 tarafından çalıştırılan ilk işaretleme derleme geçişi, XAML dosyalarını ikili biçime derler. Sonuç olarak, derleyicinin XAML dosyaları tarafından kullanılan türleri içeren başvuruda bulunılan derlemelerin bir listesine ihtiyacı vardır. Ancak, bir XAML dosyası aynı projede tanımlanan bir tür kullanıyorsa, proje oluşturulana kadar ilgili proje için karşılık gelen bir derleme oluşturulmaz. Bu nedenle, ilk işaretleme derleme geçişi sırasında derleme başvurusu sağlanamaz.
Bunun yerine, MarkupCompilePass1, aynı projedeki türlere başvurular içeren XAML dosyalarının MarkupCompilePass2 tarafından yürütülen ikinci bir işaretleme derleme geçişine dönüştürülme işlemini engeller. MarkupCompilePass2 yürütülmeden önce geçici bir derleme oluşturulur. Bu derleme, işaretleme derleme geçişi ertelenen XAML dosyaları tarafından kullanılan türleri içerir. Ertelenen derleme XAML dosyalarının ikili biçime dönüştürülmesini sağlamak için çalıştırıldığında MarkupCompilePass2'ye oluşturulan derlemeye başvuru sağlanır.
Örnek
Aşağıdaki örnek, Page1.xaml aynı projedeki bir türe başvuru içerdiğinden geçici bir derleme oluşturur.
<Project>
<UsingTask
TaskName="Microsoft.Build.Tasks.Windows.GenerateTemporaryTargetAssembly"
AssemblyFile="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationBuildTasks.dll" />
<Target Name="GenerateTemporaryTargetAssemblyTask">
<GenerateTemporaryTargetAssembly
AssemblyName="WPFMSBuildSample"
CompileTargetName="CoreCompile"
CompileTypeName="Compile"
CurrentProject="FullBuild.proj"
GeneratedCodeFiles="obj\debug\app.g.cs;obj\debug\Page1.g.cs;obj\debug\Page2.g.cs"
ReferencePath="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"
IntermediateOutputPath=".\obj\debug\"
MSBuildBinPath="$(MSBuildBinPath)"
ReferencePathTypeName="ReferencePath"/>
</Target>
</Project>