Çoğunlukla, varsayılan olarak Visual Studio sizin için ayarladığı her şeyi alırsınız ... Solution Explorer'da seçilen her dosya için BuildAction özelliğine başvuruyorum . Bir dizi seçenek var ve her birinin ne yapacağını bilmek zor.
Çoğunlukla, varsayılan olarak Visual Studio sizin için ayarladığı her şeyi alırsınız ... Solution Explorer'da seçilen her dosya için BuildAction özelliğine başvuruyorum . Bir dizi seçenek var ve her birinin ne yapacağını bilmek zor.
Yanıtlar:
Yok : Dosya proje çıktı grubuna dahil değildir ve derleme işleminde derlenmez. Örnek olarak Benioku dosyası gibi belgeler içeren bir metin dosyası verilebilir.
Derleme : Dosya derleme çıktısında derlenir. Bu ayar kod dosyaları için kullanılır.
İçerik : Application.GetContentStream (URI) aracılığıyla bir dosyayı (derlemeyle aynı dizinde) akış olarak almanızı sağlar. Bu yöntemin çalışması için, bir dosyayı "İçerik" olarak işaretlediğinizde Visual Studio'nun zarif bir şekilde eklediği AssemblyAssociatedContentFile özel özniteliğine ihtiyacı vardır
Gömülü kaynak : Dosyayı özel bir derleme bildirim kaynağına gömer.
Kaynak (yalnızca WPF) : Dosyayı AppName.g.resources adlı paylaşılan (derlemedeki tüm ayarlarla benzer ayarlarla) derleme bildirim kaynağına gömer.
Sayfa (yalnızca WPF) : Bir xaml
dosyayı içine derlemek için kullanılır baml
. Ardından baml
, aynı teknikle gömülür Resource
(yani `AppName.g.resources olarak kullanılabilir)
ApplicationDefinition (yalnızca WPF) : Uygulamanızı tanımlayan XAML / sınıf dosyasını işaretleyin. Arkadaki kodu x: Class = "Namespace.ClassName" ile belirtirsiniz ve başlangıç formunu / sayfasını StartupUri = "Window1.xaml" ile ayarlarsınız.
SplashScreen (yalnızca WPF) : Bir WPF uygulaması yüklendiğinde ve sonra kaybolduğunda, olarak işaretlenen bir görüntü otomatik olarak SplashScreen
gösterilir
DesignData : Kullanıcı denetimlerinin Visual Studio'da örnek verilerle önizlenebilmesi için XAML görünüm modellerini derler (sahte türler kullanır)
DesignDataWithDesignTimeCreatableTypes : Kullanıcı denetimlerinin Visual Studio'da örnek verilerle önizlenebilmesi için XAML görünüm modellerini derler (gerçek türleri kullanır)
EntityDeploy : (Entity Framework) : Entity Framework yapılarını dağıtmak için kullanılır
CodeAnalysisDictionary : Yazım kuralları için özel sözcük sözlüğü içeren bir XML dosyası
AdditionalFiles
? VS 2015'te görüyorum ama bunun için bir referans bulamadım.
Belgelerden:
BuildAction özelliği, bir derleme yürütüldüğünde Visual Studio'nun bir dosyayla ne yaptığını gösterir. BuildAction birkaç değerden birine sahip olabilir:
Yok - Dosya proje çıktı grubuna dahil değildir ve derleme işleminde derlenmez. Örnek olarak Benioku dosyası gibi belgeler içeren bir metin dosyası verilebilir.
Derle - Dosya derleme çıktısında derlenir. Bu ayar kod dosyaları için kullanılır.
İçerik - Dosya derlenmez, ancak İçerik çıktı grubuna dahil edilir. Örneğin, bu ayar .htm veya başka türde bir Web dosyası için varsayılan değerdir.
Katıştırılmış Kaynak - Bu dosya, ana proje oluşturma çıktısına DLL veya yürütülebilir olarak katıştırılır. Genellikle kaynak dosyaları için kullanılır.
Sayfa - Belirtilen XAML dosyasını alır ve BAML'de derler ve bu çıktıyı, derlemenizdeki kök XAML öğesinde uygun özniteliklere sahipseniz, derlemeniz için yönetilen kaynak akışına (özellikle AssemblyName.g.resources) gömer. dosyasında, bu sayfa için "codebehind" in kısmi bir sınıfını içeren bir blah.g.cs dosyası oluşturur; bu temelde, dosyayı belleğe yeniden hidratlamak ve sınıfınızın üye değişkenlerinden herhangi birini şimdi oluşturulan öğelere ayarlamak için BAML goop'a bir çağrı içerir (örneğin, bir öğeye x: Name = "foo" yazarsanız) , bunu yapabilirsiniz.foo.Background = Mor; veya benzeri.
ApplicationDefinition - Sayfaya benzer, ancak furthur devam etmez ve uygulamanızın uygulama nesnesini başlatan, üzerinde çalıştırılacak, daha sonra StartupUri özelliği tarafından ayarlanan türü başlatan ve ana pencerenizi verecek olan giriş noktasını tanımlar. .
Ayrıca, açık olmak gerekirse, bu soru genel olarak sonuç kümesinde sonsuzdur; herkes sadece bir MSBuild Görevi oluşturarak ek BuildActions tanımlayabilir. % Systemroot% \ Microsoft.net \ framework \ v {version} \ dizinine bakarsanız ve Microsoft.Common.targets dosyasına bakarsanız, daha fazlasını deşifre edebilmeniz gerekir (örneğin, VS Pro ve üstü ile, özel sınıfların birim sınanmasına yardımcı olmak için özel erişimciler oluşturmanıza olanak tanıyan bir "Gölge" eylemi vardır.
VS2010'da 'Yapı Eylemi' ve ayrıca 'Çıktı Dizine Kopyala' özelliği vardır. Bu nedenle, copy özelliği 'Daha Yeniyse Kopyala' veya 'Her Zaman Kopyala' olarak ayarlanmışsa, 'Yok' eylemi derleme dizinine kopyalanmaya devam eder.
Bu nedenle, 'Application.GetContentStream' aracılığıyla erişeceğiniz içeriği belirtmek için bir 'İçerik' oluşturma eylemi ayrılmalıdır.
Harici olarak bağlanan bazı .config için 'Hiçbiri'nin' Eylemi Oluştur 'ayarını ve' Daha Yeni Varsa Kopyala '' Çıkış Direcotry'ye Kopyala 'ayarını kullandım.
G.
VS2008'de en faydalı görünen belge girişi:
Windows Presentation Foundation Bir WPF Uygulaması Oluşturma (WPF)
ms-help: //MS.VSCC.v90/MS.MSDNQTR.v90.en/wpf_conceptual/html/a58696fd-bdad-4b55-9759-136dfdf8b91c.htm
ApplicationDefinition Uygulama tanımını (kök öğesi Uygulama olan bir XAML biçimlendirme dosyası) içeren XAML biçimlendirme dosyasını tanımlar. Install, True ve OutputType winexe olduğunda ApplicationDefinition zorunludur. Bir WPF uygulaması ve dolayısıyla bir MSBuild projesi yalnızca bir ApplicationDefinition'a sahip olabilir.
Sayfa İçeriği ikili biçime dönüştürülen ve derlemeye derlenen bir XAML biçimlendirme dosyasını tanımlar. Sayfa öğeleri genellikle bir arka plan kod sınıfıyla birlikte uygulanır.
En yaygın Sayfa öğeleri, üst düzey öğeleri aşağıdakilerden biri olan XAML dosyalarıdır:
Window (System.Windows..::.Window).
Page (System.Windows.Controls..::.Page).
PageFunction (System.Windows.Navigation..::.PageFunction<(Of <(T>)>)).
ResourceDictionary (System.Windows..::.ResourceDictionary).
FlowDocument (System.Windows.Documents..::.FlowDocument).
UserControl (System.Windows.Controls..::.UserControl).
Kaynak Uygulama derlemesinde derlenen bir kaynak dosyasını tanımlar. Daha önce de belirtildiği gibi, UICulture Kaynak öğelerini işler.
İçerik Bir uygulama ile dağıtılan bir içerik dosyasını tanımlar. İçerik dosyasını açıklayan meta veriler uygulamaya derlenir (AssemblyAssociatedContentFileAttribute kullanılarak).
Peki bu sayfayı Microsoft Bağlan gelen türlerini (DesignData ve DesignDataWithDesignTimeCreatableTypes açıklayan). Alıntı yapmak:
Aşağıda, Örnek Veri dosyaları için iki Oluşturma Eylemi açıklanmaktadır.
Örnek veri .xaml dosyalarına aşağıdaki Derleme İşlemlerinden biri atanmalıdır:
DesignData : Örnek veri türleri sahte türler olarak oluşturulur. Örnek veri türleri oluşturulamıyorsa veya örnek veri değerlerini tanımlamak istediğiniz salt okunur özelliklere sahipse bu Derleme Eylemini kullanın.
DesignDataWithDesignTimeCreatableTypes : Örnek veri türleri, örnek veri dosyasında tanımlanan türler kullanılarak oluşturulacaktır. Örnek veri türleri varsayılan boş kurucuları kullanılarak oluşturulabilir olduğunda bu Yapı Eylemini kullanın.
Değil bu yüzden inanılmaz derecede ayrıntılı, ancak en azından bir ipucu verir. Bu MSDN izlenecek yol da bazı fikirler veriyor. Bu Build Action'larının Silverlight olmayan projeler için de geçerli olup olmadığını bilmiyorum.