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.
MSBuild özellikleri hedeflerin davranışını denetler. Bunlar proje dosyasında( örneğin MyApp.csproj) bir MSBuild PropertyGroup içinde belirtilir.
AltoolPath
altool aracının tam yolu.
Varsayılan davranış kullanmaktır xcrun altool.
AppBundleResourcePrefix
Kaynakların depolandığı dizin (kaynakları uygulama paketine kopyalarken bu ön ek kaldırılır).
Açıkça ayarlanmazsa, bu özellik değerini platforma özgü kaynak ön eki özelliklerinden (platforma bağlı olarak IPhoneResourcePrefix, MonoMacResourcePrefix veya XamMacResourcePrefix ) devralır.
Varsayılan: "Kaynaklar"
AppBundleDir
Yerleşik uygulama paketinin konumu.
AppBundleEkstraSeçenekler
Uygulama paketi oluşturma için gelişmiş ek bağımsız değişkenler.
Geçerli bağımsız değişkenler kümesi platforma bağlıdır.
Bunlar genellikle bir Microsoft mühendisi tarafından belirtilmedikçe kullanılmamalıdır.
Uygulama Simgesi
Öğe AppIcon grubu, uygulama için bir uygulama simgesi belirtmek için kullanılabilir.
özelliğinin değeri, varlık kataloğu içindeki bir .appiconset (iOS, macOS ve Mac Catalyst için) veya .brandassets (tvOS için) görüntü kaynağının dosya adına işaret etmelidir.
Örnek:
<PropertyGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAppIcon.appiconset" resource would be "MyAppIcon" -->
<AppIcon>MyAppIcon</AppIcon>
</PropertyGroup>
Ayrıca bkz:
- AlternateAppIcon öğe grubu.
- IncludeAllAppIcons özelliği.
Uygulama Gösterme Sürümü
Ayarlanırsa, uygulama bildirimindeki CFBundleShortVersionString değerini (Info.plist) belirtir.
Bu, .NET "Tek Proje" özelliğini destekleyen bir özelliktir.
Daha fazla bilgi için bkz. OneDotNetSingleProject .
ApplicationId
Ayarlanırsa, uygulama bildirimindeki CFBundleIdentifier değerini (Info.plist) belirtir.
Bu, .NET "Tek Proje" özelliğini destekleyen bir özelliktir.
Daha fazla bilgi için bkz. OneDotNetSingleProject .
Uygulama Başlığı
Ayarlanırsa, uygulama bildiriminde belirtilen CFBundleDisplayName, Info.plist öğesini belirler.
Bu, .NET "Tek Proje" özelliğini destekleyen bir özelliktir.
Daha fazla bilgi için bkz. OneDotNetSingleProject .
Uygulama Sürümü
Ayarlanırsa, uygulama bildiriminde belirtilen CFBundleVersion, Info.plist öğesini belirler.
Bu, .NET "Tek Proje" özelliğini destekleyen bir özelliktir.
Daha fazla bilgi için bkz. OneDotNetSingleProject .
ArchiveBasePath
Arşivlerin uzak derleme için Windows'ta depolandığı konum.
Varsayılan değer: %LocalAppData%\Xamarin\iOS\Archives
Yalnızca iOS projeleri için geçerlidir (yalnızca iOS projeleri Windows'tan uzaktan oluşturulabildiğinden).
ArchiveOnBuild
Derlemenin sonunda bir Xcode arşivi oluşturulması gerekiyorsa.
BGenEmitDebugInformation
bgen Aracın (bağlama oluşturucu) hata ayıklama bilgilerini yayması gerekip gerekmediği.
Varsayılan davranış, true özelliği Debug olarak ayarlandığında true olur.
BGenExtraArgs
bgen aracına (bağlama oluşturucu) ek herhangi bir bağımsız değişken.
BGenToolExe
bgen yürütme dosyasının adı (bağlama projeleri tarafından bağlama oluşturmak için kullanılan bir araç).
Varsayılan davranış, iş yükümüzle birlikte gönderilen aracı kullanmaktır bgen .
BGenToolPath
(bgen) öğesinin bulunduğu dizin.
Varsayılan davranış, iş yükümüzle birlikte gönderilen aracı kullanmaktır bgen .
BuildIpa
Derlemenin sonunda uygulama paketi için bir paket (.ipa) oluşturulması gerekiyorsa.
Yalnızca iOS ve tvOS projeleri için geçerlidir.
Bkz. macOS ve Mac Catalyst projeleri için CreatePackage .
BundleCreateDump
CoreCLR, işlem kilitlenirse çekirdek dökümleri oluşturmak için createdump adlı bir komut satırı yardımcı programına sahiptir. macOS, tüm App Store uygulamaları için otomatik olarak kilitlenme raporları oluşturur ve bunları uygulama geliştiricisi tarafından kullanılabilir hale getirir, bu nedenle createdump araç birçok macOS uygulaması için kullanışlı değildir ve bu nedenle varsayılan olarak uygulamalara dahil değildir.
Bu BundleCreateDump özelliği ayarlanarak geçersiz kılınabilir.
<PropertyGroup>
<BundleCreateDump>true</BundleCreateDump>
</PropertyGroup>
Not: createdump araç, şu anda korumalı uygulamalar için çalışmıyor (#18961);
Yalnızca CoreCLR çalışma zamanını kullanan projeler için geçerlidir (bu yazının yazıldığı anda yalnızca macOS projeleridir).
Orijinal Kaynak Paketlemesi
Bu özellik, kaynakların kitaplık projelerine katıştırılmadan önce derlenip derlenmeyeceğini veya özgün (derlenmemiş) sürümün eklenip eklenmeyeceğini belirler.
Geçmişte, kaynaklar kitaplık projelerine eklenmeden önce derlenmiştir, ancak bunun birkaç dezavantajı olan Xcode'un kullanılabilir olması gerekir:
- Windows'ta uzak derleme işlemlerini yavaşlatır.
- Windows'da yerel olarak derleme yaparken ve macOS dışındaki diğer platformlarda da çalışmaz.
- Kaynaklar, söz konusu kitaplık kullanıldığında kullanılabilir olabilecek daha yeni bir Xcode ile aynı özelliklere sahip olmayan mevcut Xcode kullanılarak derlenir.
- Bir uygulama oluştururken tüm kaynakların tam program görünümüne sahip olmak imkansız hale gelir, bu da çakışan kaynakların tespit edilmesi için gereklidir.
Bu nedenle, özgün kaynakları kütüphanelere eklemek için destek ekledik. .NET 9'da isteğe bağlı olacak, ancak .NET 10'da varsayılan olarak devre dışı bırakılabilir.
.NET 9 ve false .NET 10+ içinde bu özelliğin true varsayılan değeri.
Uyarı
Bu özelliği devre dışı bırakmanız gerektiğini fark ederseniz bir sorun oluşturun çünkü devre dışı bırakma seçeneği gelecekte kaldırılacaktır.
CodesignAllocate
Araca giden yol codesign_allocate.
Varsayılan olarak bu değer otomatik olarak algılanır.
CodesignConfigureDependsOn
Bu, derleme için bir uzantı noktasıdır: Geliştirici, derleme birlikte tasarlama özelliklerinden herhangi birine bakmadan önce bu hedefleri yürütmek için bu özelliğe herhangi bir hedef ekleyebilir.
Örneğin bu, simülatör derlemeleri için kod imzalamayı devre dışı bırakmak için kullanılabilir:
<PropertyGroup>
<CodesignConfigureDependsOn>$(CodesignConfigureDependsOn);DisableCodesignInSimulator</CodesignConfigureDependsOn>
</PropertyGroup>
<Target Name="DisableCodesignInSimulator" Condition="'$(SdkIsSimulator)' == 'true'">
<PropertyGroup>
<EnableCodeSigning>false</EnableCodeSigning>
</PropertyGroup>
</Target>
Ortak Tasarım Bağımlı Olur
Bu, derleme için bir uzantı noktasıdır: Geliştirici, uygulama paketi imzalanmadan önce bu hedefleri yürütmek için bu özelliğe herhangi bir hedef ekleyebilir.
Örnek:
<PropertyGroup>
<CodesignDependsOn>$(CodesignDependsOn);DoThisBeforeCodesign</CodesignDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCodesign">
<Exec Command="echo This is executed right before the app is signed." />
</Target>
Ortak Tasarım Hakları
Uygulamanın gerektirdiği yetkilendirmeleri belirten yetkilendirmeler dosyasının yolu.
Genellikle "Entitlements.plist".
Proje kök dizininde böyle bir dosya varsa bunu otomatik olarak "Entitlements.plist" olarak ayarlayacağız.
EnableDefaultCodesignEntitlements özelliği olarak falseayarlanarak bu önlenebilir.
CodesignExtraArgs
'codesign' aracına, uygulama paketi imzalanırken geçirilen ek parametreler.
CodesignKey
Uygulama paketini imzalarken kullanılacak kod imzalama anahtarını belirtir.
CodesignKeychain
Kod imzalama sırasında kullanılacak anahtarlık.
Kod İmzalama Anahtarı
Uygulama paketini imzalarken kullanılacak kod imzalama anahtarını belirtir.
Yalnızca macOS ve Mac Catalyst uygulamaları için geçerlidir, ancak bunun yerine CodesignKey özelliğinin kullanılması önerilir (tüm platformlarda çalışır).
CodesignProvision
Uygulama paketini imzalarken kullanılacak sağlama profilini belirtir.
CodesignResourceRules
Uygulama paketine kopyalanacak olan ResourceRules.plist dosyasının yolu.
CodesignRequireProvisioningProfile
Uygulama paketini imzalarken bir sağlama profili gerekip gerekmediğini belirtir.
Varsayılan olarak, şu durumlarda bir sağlama profili gerekir:
- macOS, Mac Catalyst: Bir sağlama profili belirtildi ( CodesignProvision özelliğiyle).
- iOS, tvOS: cihaz için derleme veya yetkilendirme dosyası belirtildi ( CodesignEntitlements özelliğiyle).
Bu özelliği true veya false olarak ayarlamak, varsayılan mantığı geçersiz kılar.
SıkıştırmaBağlamaKaynakPaketi
Bağlama projelerindeki yerel başvurular, derleme işlemi sırasında bağlama derlemesinin yanında, "bağlama kaynak paketi" olarak adlandırdığımız bir yapıya kopyalanır.
Bu yerel başvurular, $(AssemblyName).resources.zip adlı bir zip dosyasının içinde sıkıştırılmış olarak veya $(AssemblyName).resources adlı bir dizin içinde olduğu gibi depolanabilir.
CompressBindingResourcePackage özelliği zip dosyası mı yoksa dizin mi oluşturulacağını belirtir.
Olası değerler:
-
auto: otomatik olarak en iyi seçeneğe karar verir (şu anda bir zip dosyası her zaman oluşturulur, ancak Visual Studio Windows'ta uzun yolları desteklediğinde, bu yalnızca symlink'leri olan zip bağlama kaynak paketlerine değişebilir). -
true: zip dosyası oluşturma -
false: dizin oluşturma
Varsayılan değer: auto.
Bu, doğal referansların NuGet'ler içinde nasıl depolandığı için de geçerlidir.
Uyarı
Bazı durumlarda, zip dosyası bazen Windows'taki MAX_PATH sorunlarına çözüm getirebileceğinden, özellikle uzun adlara sahip dosyaları olan bir çerçeve olduğunda, iOS'ta da zip dosyasını zorlamak yararlı olabilir.
CopySceneKitAssetsPath
copySceneKitAssets aracının tam yolu.
Varsayılan davranış kullanmaktır xcrun copySceneKitAssets.
CoreMLCompilerPath
coremlc aracının tam yolu.
Varsayılan davranış kullanmaktır xcrun coremlc.
Uygulama Paketi Oluşturma Bağımlılıkları
Bu, derleme için bir uzantı noktasıdır: Geliştirici, uygulama paketini oluştururken bu hedefleri yürütmek için bu özelliğe herhangi bir hedef ekleyebilir.
Örnek:
<PropertyGroup>
<CreateAppBundleDependsOn>$(CreateAppBundleDependsOn);DoThisBeforeCreatingAppBundle</CreateAppBundleDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingAppBundle">
<Exec Command="echo This is executed before the app bundle is created." />
</Target>
CreateIpaBağlılıklaraBağlı
Bu, derleme için bir uzantı noktasıdır: Bir geliştirici, IPA oluştururken bu hedefleri yürütmek için bu özelliğe herhangi bir hedef ekleyebilir.
IPA arşivleri oluşturan, şu anda iOS ve tvOS platformları için geçerli olan tüm platformlar için geçerlidir.
Örnek:
<PropertyGroup>
<CreateIpaDependsOn>$(CreateIpaDependsOn);DoThisBeforeCreatingIPA</CreateIpaDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingIPA">
<Exec Command="echo This is executed before the IPA is created." />
</Target>
PaketOluştur
Derlemenin sonunda uygulama paketi için bir paket (.pkg) oluşturulması gerekiyorsa.
Yalnızca macOS ve Mac Catalyst projeleri için geçerlidir.
Bkz. iOS ve tvOS projeleri için BuildIpa .
DeviceSpecificBuild
Derlemenin seçili cihaza özgü olması gerekiyorsa.
Cihaza özgü derlemeleri (şu anda iOS ve tvOS) destekleyen tüm platformlar için geçerlidir.
CihazaÖzgüAraÇıkışYolu
Cihaza özgü derlemeler etkinleştirildiğinde kullanılacak ara çıkış yolu.
Cihaza özgü derlemeleri (şu anda iOS ve tvOS) destekleyen tüm platformlar için geçerlidir.
Cihaza Özgü Çıktı Yolu
Cihaza özgü derlemeler etkinleştirildiğinde kullanılacak çıkış yolu.
Cihaza özgü derlemeleri (şu anda iOS ve tvOS) destekleyen tüm platformlar için geçerlidir.
Teşhis Adresi
Yürütüldüğü dotnet-dsrouter IP adresi. Bu, simülatörde profil oluşturulurken genellikle 127.0.0.1, cihazda profil oluşturulurken makinenin IP adresi dotnet-dsrouter şeklindedir.
Bu, DiagnosticConfiguration'ın IP adresi bileşenidir.
EnableDiagnostics'i gizli olarak true ayarlar.
Varsayılan olarak 127.0.0.1 değerini alır.
TanılamaYapılandırması
Örneğin dotnet-dsrouter için DOTNET_DiagnosticPorts tarafından sağlanan bir değer:
127.0.0.1:9000,suspend,connect127.0.0.1:9000,nosuspend,connect
Komut satırında ,'a geçirilirse, %2c karakterinin dotnet build ile kaçış karakteriyle belirtilmesi gerektiğini unutmayın:
dotnet build -c Release -p:DiagnosticConfiguration=127.0.0.1:9000%2csuspend%2cconnect
Bu, uygulama başlatıldığında ortam değişkeninin DOTNET_DiagnosticPorts ayarlanması için uygulamanın içinde paketlenmiş ortam değişkenini otomatik olarak ayarlar.
EnableDiagnostics'i gizli olarak true ayarlar.
Varsayılan davranış, bu değeri diğer tanılama özelliklerinden (DiagnosticAddress, DiagnosticPort, DiagnosticListenMode ve DiagnosticSuspend) hesaplamaktır.
Ayarlanırsa, diğer tanılama özelliklerinden herhangi biri göz ardı edilir.
Diagnostic Dinleme Modu
Veya dotnet-dsroutergibi connect tarafından sağlanan listen bir değer, DiagnosticConfiguration'ın dinleme modu bileşenidir.
EnableDiagnostics'i gizli olarak true ayarlar.
Varsayılan olarak listen değerini alır.
DiagnosticPort
tarafından sağlanan bir değer dotnet-dsrouter gibi 9000, DiagnosticConfiguration'ın bağlantı noktası bileşenidir.
EnableDiagnostics'i gizli olarak true ayarlar.
Varsayılan olarak 9000 değerini alır.
Tanılama Askıya Alındı
Bir uygulamanın profilini oluştururken başlatma davranışını belirten bir değer.
true Başlangıçta uygulamayı askıya almak (tanılama sunucusunun uygulamaya bağlanmasını beklemek) veya false uygulamayı her zamanki gibi başlatmak (ve tanılama sunucusunu daha sonra uygulamaya bağlamak) için olarak ayarlayın.
Bu, suspend/nosuspend değeri DiagnosticConfiguration içindeki değerine karşılık gelir.
EnableDiagnostics'i gizli olarak true ayarlar.
Varsayılan olarak false değerini alır.
DittoPath
Yürütülebilir dosyanın tam yolu ditto.
Varsayılan davranış kullanmaktır /usr/bin/ditto.
İstek Üzerine Kaynakları Yerleştir
İsteğe bağlı kaynakların uygulama paketine katıştırılması gerekiyorsa.
Varsayılan: doğru
Kod İmzalamayı Etkinleştir
Kod imzalama etkinleştirilmişse.
Kod imzalama tüm platformlar için varsayılan olarak etkindir; bu özellik ile geçersiz kılınabilir.
Varsayılan Kod İmzalama Yetkilerini Etkinleştir
İsteğe Bağlı Kaynakları Etkinleştir
İsteğe bağlı kaynaklar etkinleştirildiyse.
Varsayılan: macOS için false, diğer tüm platformlar için true.
Paket İmzalamayı Etkinleştir
Oluşturulan .pkg'nin imzalanması gerekir (eğer CreatePackage etkinleştirildiyse).
Yalnızca macOS ve Mac Catalyst için geçerlidir.
Tanılama Özelliklerini Etkinleştir
Tanılamanın (profil oluşturma gibi) çalışması için gereken bileşenleri etkinleştirin.
Hata ayıklama derlemeleri için varsayılan olarak etkinleştirilir ( MtouchDebug veya MmpDebug etkinleştirildiğinde), ancak sürüm derlemelerinin profilini oluşturmadan önce el ile etkinleştirilmesi gerekir:
<PropertyGroup>
<EnableDiagnostics>true</EnableDiagnostics>
</PropertyGroup>
Bu, uygulama boyutunu biraz artırır.
Yalnızca Mono çalışma zamanını kullanırken geçerlidir (CoreCLR her zaman tanılamayı desteklerken NativeAOT hiçbir zaman desteklemez).
EnableSGenConc
SGen çöp toplayıcısı için eşzamanlı modu etkinleştirir.
Yalnızca iOS, tvOS ve Mac Catalyst için geçerlidir (NativeAOT kullanmadığında).
EtkinlikKaynağıDesteği
false olarak ayarlandığında, kırpılmış uygulamalarda .NET'in EventSource desteğini devre dışı bırakır. Bu özelliği devre dışı bırakmak, .NET tanılama araçlarının dotnet-counters çalışmasını engeller, ancak uygulama boyutunu küçültebilir.
Varsayılan: false etkin olmadığı sürece Optimize ne zaman true olarak ayarlanır Release (derlemeler için $(EnableDiagnostics) varsayılan değerdir).
Uygulama Bildirim Dosyası Oluşturma
Eğer bir uygulama bildirimi (Info.plist) oluşturulmalıysa.
Varsayılan: doğru
GeneratedSourcesDir
Generatörden üretilen kaynağın kaydedildiği yer.
TümUygulamaSimgeleriniDahilEt
Tüm varlık kataloglarındaki IncludeAllAppIcons tüm uygulama simgelerini uygulamaya otomatik olarak eklemek için özelliğini true olarak ayarlayın.
Örnek:
<PropertyGroup>
<IncludeAllAppIcons>true</IncludeAllAppIcons>
</PropertyGroup>
Ayrıca bkz:
- AlternateAppIcon öğe grubu.
- AppIcon özelliği.
iOSMinimumVersion
Uygulamanın çalıştırabileceği en düşük iOS sürümünü belirtir.
iOS için geçerlidir; bu değer ayarlandığında iOS projeleri için SupportedOSPlatformVersion ayarlanır (yalnızca).
IPhoneResourcePrefix
Kaynakların depolandığı dizin (kaynakları uygulama paketine kopyalarken bu ön ek kaldırılır).
iOS, tvOS ve Mac Catalyst projeleri için geçerlidir.
Bunun yerine birleşik AppBundleResourcePrefix özelliğini kullanmayı düşünün.
Ayrıca bkz. MonoMacResourcePrefix ve XamMacResourcePrefix.
IpaIncludeArtwork
IPA'ya sanat eseri eklenmesi gerekiyorsa.
Yalnızca iOS ve tvOS projeleri için geçerlidir.
IpaPackageName
IPA paketi oluştururken elde edilen .ipa dosyasının (yolu olmadan) adını belirtir (bkz . BuildIpa). IpaPackagePath bu değeri geçersiz kılar.
Yalnızca iOS ve tvOS projeleri için geçerlidir.
IpaPackageDir
IPA paketi oluştururken elde edilen .ipa dosyasının dizinini belirtir (bkz . BuildIpa). IpaPackagePath bu değeri geçersiz kılar.
Yalnızca iOS ve tvOS projeleri için geçerlidir.
IpaPackagePath
IPA paketi oluştururken elde edilen .ipa dosyasının yolunu belirtir (bkz . BuildIpa).
Yalnızca iOS ve tvOS projeleri için geçerlidir.
IsAppExtension
Proje bir uygulama uzantısıysa.
IsBindingProject
Proje bağlayıcı bir projeyse.
IsXPCService
MacOS uzantısı bir xpc hizmetiyse.
Yalnızca macOS projeleri için geçerlidir.
Bağlantı Modu
Projenin (NoneSdkOnlyveya Full) bağlantı modunu belirtir.
macOS projeleri için geçerlidir, ancak bu özellik kullanım dışıdır, bunun yerine TrimMode kullanın.
Ayrıca bkz. MtouchLink.
Swift Sistem Kütüphaneleri ile Bağla
olarak ayarlanırsa true, derleme, yerel bağlayıcıya Swift'in sistem kitaplıklarını nerede bulacağını söyler.
Bu, yerel bir kitaplık swift'i bir şekilde kullandığında kullanışlıdır ve bu durumda yerel bağlayıcının Swift'in sistem kitaplıklarını nerede bulacağını bilmesi gerekir.
Şu anda bu bağımsız değişkenlerin yerel bağlayıcıya geçirileceği anlamına gelir:
- -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/[platform]
- -L/Applications/Xcode.app/Contents/Developer/Platforms/[platform].platform/Developer/SDKs/[platform].sdk/usr/lib/swift
Tam argüman kümesi gelecekte değişebilir.
MacCatalystMinimumVersion (MacCatalyst Minimum Versiyonu)
Uygulamanın çalıştırabileceği en düşük Mac Catalyst (iOS) sürümünü belirtir.
Mac Catalyst için geçerlidir; bu değer ayarlandığında Mac Catalyst projeleri için SupportedOSPlatformVersion (yalnızca) ayarlanır.
MaciOSPrepareForBuildDependsOn
Yapı sürecini genişletmek için kullanılabilecek noktalı virgülle ayrılmış özellik. Bu özelliğe eklenen MSBuild hedefleri hem uygulama hem de kitaplık proje türleri için derlemenin erken aşamalarında yürütülür. Bu özellik varsayılan olarak boş kalır.
Örnek:
<PropertyGroup>
<MaciOSPrepareForBuildDependsOn>$(MaciOSPrepareForBuildDependsOn);MyCustomTarget</MaciOSPrepareForBuildDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Bu özellik .NET 9'da tanıtıldı.
macOS Minimum Sürümü
Uygulamanın çalışabileceği en düşük macOS sürümünü belirtir.
macOS için geçerlidir; bu değer ayarlandığında macOS projeleri için SupportedOSPlatformVersion ayarlanır (yalnızca).
MacOSXSdkVersion
Derleme için kullanılacak macOS SDK sürümü.
Varsayılan: seçilen Xcode ile birlikte gönderilen varsayılan sürüme göre otomatik olarak algılanır.
Ayrıca bkz. MtouchSdkVersion.
Yönetilen İstisna Modu Yönlendirme
Yönetilen bir özel durum işlenirken, yığın geri sarma sırasında yerel bir çerçeveyle karşılaşıldığında, yönetilen özel durumların nasıl ele alınacağını seçin.
Geçerli değerler:
-
default: Şu anda buthrowobjectivecexception. -
unwindnativecode: Bu, CoreCLR çalışma zamanı kullanılırken kullanılamaz. -
throwobjectivecexception: Yönetilen özel durumu yakalayın ve bir Objective-C özel duruma dönüştürün. -
abort: İşlemi durdurun. -
disable: Yönetilen özel durumları yakalamayı devre dışı bırakın. MonoVM için bu,unwindnativecodeile eşdeğerdir, CoreCLR için bu,abortile eşdeğerdir.
Daha fazla bilgi için Özel Durum İşleme ve MarshalObjectiveCExceptionMode bölümüne bakın.
MarshalObjectiveCExceptionMode
Objective-C özel durumu işlenirken yığın geri sarma sırasında yönetilen çerçeveyle karşılaşıldığında Objective-C özel durumların nasıl işleneceğini seçin.
Geçerli değerler:
-
default: Şu anda buthrowmanagedexception. -
unwindmanagedcode: Bu, CoreCLR çalışma zamanı kullanılırken kullanılamaz. -
throwmanagedexception: Objective-C özel durumunu yakalayın ve yönetilen özel duruma dönüştürün. -
abort: İşlemi durdurun. -
disable: Objective-C istisnalarını önlemeyi devre dışı bırakın.
Daha fazla bilgi için bkz. Özel durum aktarma ve MarshalManagedExceptionMode.
MdimportPath
mdimport aracının tam yolu.
Varsayılan davranış kullanmaktır xcrun mdimport.
MetalLibPath
metallib aracının (Metal Bağlayıcı) tam yolu.
Varsayılan davranış kullanmaktır xcrun metallib.
MetalPath
Metal derleyicisinin tam yolu.
Varsayılan davranış kullanmaktır xcrun metal.
MetricsSupport
false ayarlandığında, .NET'in Ölçümler desteğini kırpılan uygulamalardan devre dışı bırakır. Bu özelliğin devre dışı bırakılması, uygulama boyutunun azalmasının yararına olduğu gibi System.Diagnostics.Metrics API'lerin çalışmasını engeller.
Varsayılan: false etkin olmadığı sürece Optimize ne zaman true olarak ayarlanır Release (derlemeler için $(EnableDiagnostics) varsayılan değerdir).
MmpDebug
Uygulama paketi oluşturma için hata ayıklama modunu etkinleştirir.
Yalnızca macOS projeleri için geçerlidir.
Ayrıca bkz. MtouchDebug.
MobileAggressiveAttributeTrimming
Bu özellik, çalışma zamanında çok nadir ihtiyaç duyulan çok sayıda özniteliğin kırpılıp kırpılmayacağını belirler.
Bu, varsayılan olarak etkindir.
Kaldırılan öznitelikler çok nadir kullanılırken, kaldırma işleminin çalışma zamanı davranışını değiştirebileceğini unutmayın.
Örneğin, bir oluşturucu özniteliğine (kaldırılan özniteliklerden biridir) sahipse [Obsolete] System.Xml.Serialization farklı davranır. Bu, boyut tasarrufları nedeniyle bu özniteliklerin varsayılan olarak kaldırılmasını gerekçelendirmek için yeterince düşük bir risktir.
Kaldırılan özniteliklerin listesi gelecekte değişebilir, ancak bu yazının yazıldığı sırada (.NET 10 için) öznitelikler şunlardır:
- Microsoft.CodeAnalysis.EmbeddedAttribute
- System.CLSCompliantAttribute
- System.CodeDom.Compiler.GeneratedCodeAttribute
- System.ComponentModel.EditorBrowsableAttribute
- System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute
- System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute
- System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute
- System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute
- System.Diagnostics.CodeAnalysis.ExperimentalAttribute
- System.Diagnostics.CodeAnalysis.FeatureGuardAttribute
- System.Diagnostics.CodeAnalysis.FeatureSwitchDefinitionAttribute
- System.Diagnostics.CodeAnalysis.MemberNotNullAttribute
- System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute
- System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute
- System.Diagnostics.CodeAnalysis.NotNullWhenAttribute
- System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute
- System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute
- System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute
- System.Diagnostics.CodeAnalysis.StringSyntaxAttribute
- System.Diagnostics.CodeAnalysis.SuppressMessageAttribute
- System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute
- System.Diagnostics.CodeAnalysis.UnscopedRefAttribute
- System.ObsoleteAttribute
- System.Reflection.AssemblyCompanyAttribute
- System.Reflection.AssemblyConfigurationAttribute
- System.Reflection.AssemblyCopyrightAttribute
- System.Reflection.AssemblyDefaultAliasAttribute
- System.Reflection.AssemblyDescriptionAttribute
- System.Reflection.AssemblyMetadataAttribute
- System.Reflection.AssemblyProductAttribute
- System.Reflection.AssemblyTitleAttribute
- System.Runtime.CompilerServices.AsyncMethodBuilderAttribute
- System.Runtime.CompilerServices.CallerArgumentExpressionAttribute
- System.Runtime.CompilerServices.CallerFilePathAttribute
- System.Runtime.CompilerServices.CallerLineNumberAttribute
- System.Runtime.CompilerServices.CallerMemberNameAttribute
- System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute
- System.Runtime.CompilerServices.CompilerGlobalScopeAttribute
- System.Runtime.CompilerServices.EnumeratorCancellationAttribute
- System.Runtime.CompilerServices.ExtensionAttribute
- System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute
- System.Runtime.CompilerServices.InterpolatedStringHandlerAttribute
- System.Runtime.CompilerServices.IntrinsicAttribute
- System.Runtime.CompilerServices.IsReadOnlyAttribute
- System.Runtime.CompilerServices.IsUnmanagedAttribute
- System.Runtime.CompilerServices.NativeIntegerAttribute
- System.Runtime.CompilerServices.RefSafetyRulesAttribute
- System.Runtime.CompilerServices.ScopedRefAttribute
- System.Runtime.CompilerServices.SkipLocalsInitAttribute
- System.Runtime.CompilerServices.TupleElementNamesAttribute
- System.Runtime.InteropServices.LibraryImportAttribute
- System.Runtime.InteropServices.Marshalling.ContiguousCollectionMarshallerAttribute
- System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute
- System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute
- System.Runtime.InteropServices.Marshalling.NativeMarshallingAttribute
- System.Runtime.Versioning.NonVersionableAttribute
- System.Runtime.Versioning.ObsoletedOSPlatformAttribute
- System.Runtime.Versioning.RequiresPreviewFeaturesAttribute
- System.Runtime.Versioning.SupportedOSPlatformAttribute
- System.Runtime.Versioning.SupportedOSPlatformGuardAttribute
- System.Runtime.Versioning.TargetPlatformAttribute
- System.Runtime.Versioning.UnsupportedOSPlatformAttribute
- System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute
Bu özellik .NET 10'da tanıtıldı.
MonoBundlingExtraArgs
Uygulama paketinin nasıl oluşturulacağını belirten ek bağımsız değişkenler.
Yalnızca macOS projeleri için geçerlidir.
Bu özellik kullanımdan kaldırıldı, bunun yerine AppBundleExtraOptions kullanın.
MonoMacResourcePrefix
Kaynakların depolandığı dizin (kaynakları uygulama paketine kopyalarken bu ön ek kaldırılır).
Yalnızca macOS projeleri için geçerlidir.
Bunun yerine birleşik AppBundleResourcePrefix özelliğini kullanmayı düşünün.
Ayrıca bkz. IPhoneResourcePrefix ve XamMacResourcePrefix.
MonoUseCompressedInterfaceBitmap
Bu, Mono çalışma zamanını arabirim bit eşlemlerinin sıkıştırılmış bir sürümünü kullanmaya yönlendirir (belirli bir türün belirli bir arabirimi uygulayıp uygulamadığını belirlemek için arabirim bit eşlemleri kullanılır).
Bu bit eşlemler, özellikle önemli miktarda arabirime sahip uygulamalar için çalışma zamanında önemli miktarda bellek kullanabilir.
Bu ayar varsayılan olarak devre dışıdır, ancak bu şekilde etkinleştirilebilir ve bu da çalışma zamanında kullanılan bellek miktarını azaltır:
<PropertyGroup>
<MonoUseCompressedInterfaceBitmap>true</MonoUseCompressedInterfaceBitmap>
</PropertyGroup>
Dezavantajı, tür denetimlerinin (obj is SomeInterface) daha yavaş olmasıdır.
Yalnızca Mono çalışma zamanı kullanılırken geçerlidir.
MtouchDebug
Uygulama paketi oluşturma için hata ayıklama modunu etkinleştirir.
iOS, tvOS ve Mac Catalyst projeleri için geçerlidir.
Ayrıca bkz. MmpDebug.
MtouchEnableSGenConc
SGen çöp toplayıcısı için eşzamanlı modu etkinleştirir.
NativeAOT kullanılmadığında yalnızca iOS, tvOS ve Mac Catalyst için geçerlidir.
Bu özellik kullanım dışı bırakıldı, bunun yerine EnableSGenConc kullanın.
MtouchExtraArgs
Uygulama paketinin nasıl oluşturulacağını belirten ek bağımsız değişkenler.
Yalnızca iOS, tvOS ve Mac Catalyst projeleri için geçerlidir.
Bu özellik kullanımdan kaldırıldı, bunun yerine AppBundleExtraOptions kullanın.
MtouchInterpreter
Yorumlayıcıyı etkinleştirir ve isteğe bağlı olarak yorumlanması için virgülle ayrılmış bir bileşen listesi alır (bileşenin önüne eksi işareti eklenmişse, bileşen AOT ile derlenecektir). 'all' tüm derlemeleri belirtmek için kullanılabilir. Bu bağımsız değişken birden çok kez belirtilebilir.
Örnek:
<PropertyGroup>
<!-- interpret all assemblies -->
<MtouchInterpreter>all</MtouchInterpreter>
<!-- AOT-compile all assemblies, except System.dll, which will be interpreted. -->
<MtouchInterpreter>System</MtouchInterpreter>
<!-- interpret all assemblies, except System.Core.dll, which will be AOT-compiled. -->
<MtouchInterpreter>all,-System.Core</MtouchInterpreter>
</PropertyGroup>
MtouchInterpreter ayarlamak, UseInterpreter=true için bir kısaltmadır ve bu, MtouchInterpreter=all ile eşdeğerdir.
Hem UseInterpreter hem de MtouchInterpreter ayarlandıysa, MtouchInterpreter önceliklidir.
iOS, tvOS ve Mac Catalyst uygulamaları için geçerlidir (NativeAOT kullanmadığında).
Varsayılan davranış, yorumlayıcıyı etkinleştirmemektir.
Uyarı
MAUI, UseInterpreter=true yapılandırması için "Debug" varsayılanı ayarlayarak değiştirir.
MtouchLink
Proje (None, SdkOnly, Full) için bağlantı modunu belirtir.
iOS, tvOS ve Mac Catalyst projeleri için geçerlidir, ancak bu özellik kullanım dışıdır, bunun yerine TrimMode kullanın.
Ayrıca bkz. LinkMode.
MtouchSdkVersion
Derleme için kullanılacak iOS veya tvOS SDK sürümü.
Varsayılan: seçilen Xcode ile birlikte gönderilen varsayılan sürüme göre otomatik olarak algılanır.
Ayrıca bkz. MacOSXSdkVersion.
MtouchUseLlvm
AOT derlemesinin LLVM kullanılarak yapılıp yapılmayacağını belirten bir boole özelliği.
iOS, tvOS ve Mac Catalyst projeleri için geçerlidir.
Varsayılan:
- iOS ve tvOS'ta: Yayın derlemeleri için etkinleştirildi (burada
Configuration="Release"). - Mac Catalyst'te: varsayılan olarak hiçbir zaman etkinleştirilmedi.
NoBindingEmbedding
Bağlama projelerindeki yerel kitaplıkların yönetilen derlemeye eklenip eklenmeyeceğini veya yönetilen derlemenin yanındaki bir dizine yerleştirilip yerleştirilmeyeceğini belirten boole .resources özelliği.
Varsayılan değerdir true (bu, yerel kitaplıkların yönetilen derlemeye eklenmediği anlamına gelir).
Uyarı
Xcframeworks, yönetilen derleme içinde katıştırılmışsa düzgün çalışmaz (eğer bu özellik true değilse).
NoDSymUtil
.dSYM oluşturmanın devre dışı bırakılıp bırakılmayacağını belirten boole özelliği.
Varsayılan:
-
truesimülatör için oluştururken iOS ve tvOS için. -
truearşiv oluşturmadıkça macOS ve Mac Catalyst için (ArchiveOnBuild=true)
Bu, .dSYM arşivinin aşağıdaki durumlarda oluşturulacağı anlamına gelir (varsayılan olarak):
- iOS ve tvOS'ta, cihaz için derleme yaparken.
- MacOS ve Mac Catalyst'te arşiv oluştururken (
ArchiveOnBuild=true).
NoSymbolStrip
Derleme zamanında hata ayıklama simgelerinin uygulamadan kaldırılıp kaldırılmayacağını belirten boole özelliği.
Varsayılan davranış, hata ayıklama simgelerini şu şekilde tutmaktır:
-
Debugmasaüstü platformları için derlemeler. - Mobil platformlar için simülatör derlemeleri.
Hata ayıklama simgelerini tutma örneği:
<PropertyGroup>
<NoSymbolStrip>true</NoSymbolStrip>
</PropertyGroup>
İstek Üzerine Kaynaklar İlk Yükleme Etiketleri
İsteğe bağlı kaynaklar için ilk yükleme etiketlerini belirten bir dize özelliği.
OnDemandResourcesPrefetchOrder
İsteğe bağlı kaynaklar için önceden getirme sırasını belirten bir dize özelliği.
OnDemandKaynaklarUrl
İsteğe bağlı kaynaklar için kaynak URL'sini belirten dize özelliği.
PNG'leri Optimize Et
Png görüntülerinin iyileştirilip iyileştirilmeyeceğini belirten boole özelliği.
PngGörüntüleriniOptimizeEtBağlıdır
Bu, derleme için bir uzantı noktasıdır: Bir geliştirici, png görüntüleri iyileştirilmeden önce bu hedefleri yürütmek için bu özelliğe herhangi bir hedef ekleyebilir.
Örnek:
<PropertyGroup>
<OptimizePngImagesDependsOn>$(OptimizePngImagesDependsOn);MyCustomTarget</OptimizePngImagesDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
ÖzellikListeleriniOptimizeEt
Özellik listelerinin (plists) iyileştirilip iyileştirilmemesi gerektiğini belirten boole özelliği.
ÖzellikListeleriniOptimizeEtBağlıdır
Bu, derleme için bir uzantı noktasıdır: Bir geliştirici, özellik listeleri (plists) iyileştirilmeden önce bu hedefleri yürütmek için bu özelliğe herhangi bir hedef ekleyebilir.
Örnek:
<PropertyGroup>
<OptimizePropertyListsDependsOn>$(OptimizePropertyListsDependsOn);MyCustomTarget</OptimizePropertyListsDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Paket İmzalama Anahtarı
macOS ve Mac Catalyst projesi için .pkg oluştururken paketi imzalamak için kod imzalama anahtarını belirtir.
Yalnızca macOS ve Mac Catalyst uygulamaları için geçerlidir.
PackagingExtraArgs
macOS ve Mac Catalyst projeleri için .pkg oluşturduğunda 'productbuild' aracına aktarılacak ek bağımsız değişkenleri belirtir.
Yalnızca macOS ve Mac Catalyst uygulamaları için geçerlidir.
PkgPackagePath
Paket oluştururken elde edilen .pkg dosyasının yolunu belirtir (bkz . CreatePackage).
Yalnızca macOS ve Mac Catalyst uygulamaları için geçerlidir.
PlutilPath
plutil komut satırı aracının tam yolu.
Varsayılan davranış kullanmaktır xcrun plutil.
PngCrushPath
pngcrush komut satırı aracının tam yolu.
Varsayılan davranış kullanmaktır xcrun pngcrush.
ProcessEnums
Numaralandırmaların bağlantı projelerinde bir API tanımı olarak işlenip işlenmeyeceğini belirten boolean özelliği.
ProductBuildPath
productbuild aracının tam yolu.
Varsayılan davranış kullanmaktır xcrun productbuild.
Ürün Tanımı
Ürün oluşturma şablonu (.plist), paketler (.pkg) oluşturulurken ürün tanımı oluşturmak ve bu tanımı ürün derleme aracına geçirmek için kullanılacaktır.
Yalnızca macOS ve Mac Catalyst uygulamaları için geçerlidir.
ReferansYerelSembol
tr-TR: ReferenceNativeSymbol öğe grubu, belirli bir yerel simgeyi nasıl ele alacağımızı belirtmek için kullanılabilir: onu yoksayın veya simgeyi yerel bağlayıcıya -u ... olarak veya bir sembol dosyasında ileterek yerel bağlayıcıdan simgeyi tutmasını isteyin.
Desteklenen iki meta veri türü vardır:
-
SymbolType: veyaObjectiveCClassFunctionField. Bir simgenin tam yerel adını hesaplamak için kullanılır (örneğin, Objective-C sınıfınınMyClassyerel simgesi olurken_OBJC_CLASS_$_MyClass, bir işlevMyFunctioniçin ise yalnızca_MyFunctionolur. -
SymbolMode: yaIgnoreya da ayarlanmadı.Ignoreverilen simgeyi yerel bağlayıcıya geçirmemek anlamına gelir, varsayılan değer bunu yapmaktır.
SymbolType gerekli olsa da SymbolMode gerekli değildir.
Tutulacak örnek simge:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" />
</ItemGroup>
Yoksaymak için örnek simge:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" SymbolMode="Ignore" />
</ItemGroup>
RequireLinkWithAttributeForObjectiveCClassSearch
Mevcut Objective-C sınıflarına eşleyen yönetilen sınıflar için tüm kütüphaneleri otomatik olarak tarayacağız ve ardından bu Objective-C sınıfları için derleme zamanında yerel bir başvuru oluşturacağız.
Bu şekilde yerel bağlayıcı, kullanılmadıklarını düşünerek bu Objective-C sınıflarını kaldırmaz.
Ancak, yönetilen bir sınıf var olmayan bir Objective-C sınıfına başvuruda bulunursa, bu bir soruna neden olabilir. Bu konuda en uygun çözüm, derlemeden bu tür yönetilen sınıfları çıkarmaktır. Ancak, yönetilen sınıf bir ikili başvurudan geliyorsa (örneğin NuGet), bu oldukça zahmetli olabilir.
Bu gibi durumlarda, yalnızca Objective-C sınıfları için RequireLinkWithAttributeForObjectiveCClassSearch özniteliğine sahip kitaplıkları tarayabilmemiz için true özelliğini [LinkWith] olarak ayarlamak mümkündür.
<PropertyGroup>
<RequireLinkWithAttributeForObjectiveCClassSearch>true</RequireLinkWithAttributeForObjectiveCClassSearch>
</PropertyGroup>
RunWithOpen
Bu özellik, uygulamaların macOS'ta komutu kullanılarak open başlatılıp başlatılmayacağını veya uygulamanın yürütülebilir dosyasının doğrudan yürütülür olup olmadığını belirler.
Bu yalnızca macOS ve Mac Catalyst uygulamaları için geçerlidir.
Varsayılan değer şudur: true. Bu modda, uygulama macOS tarafından başka bir ui uygulaması olarak başlatılır, herhangi bir stdout/stderr çıkışı macOS tarafından yutulacak ve dotnet run uygulama başlatıldığında komut sona erecektir.
olarak falseayarlanırsa, geçerli terminale herhangi bir stdout/stderr çıkışı yazdırılır ve dotnet run uygulamadan çıkılana kadar komut tamamlanmaz.
true ayarlandığında davranışı yapılandırmak için aşağıdaki özellikler kullanılabilir (örneğin, open komutunu kullanarak):
OpenNewInstance
Uygulama zaten çalışıyorsa ve yeni bir örnek açılacaksa (varsayılan olarak false olur).
Bu, -n olarak ayarlanırsa opentrue'e aktarılır.
Örnek:
$ dotnet run -p:OpenNewInstance=false
OpenWaitForExit
'Dotnet run' komutu, varsayılan olarak (false) ayarlanmışsa uygulamanın çıkmasını beklemelidir.
Bu, -W olarak ayarlanırsa opentrue'e aktarılır.
Örnek:
$ dotnet run -p:OpenWaitForExit=true
OpenArguments
Bu özellik, open komutuna ek bağımsız değişkenler geçirmek için kullanılabilir.
Örnek (ortam değişkenlerini ayarlamak için):
$ dotnet run -p:OpenArguments="--env VARIABLE1=VALUE1 --env VARIABLE2=value2"
Örnek (stdout ve stderr'ı bir dosyaya yeniden yönlendirmek için):
$ dotnet run -p:OpenArguments="--stdout /tmp/stdout.txt --stderr /tmp/stderr.txt"
Tüm seçeneklerin kabul edildiği bir listeyi görmek için man open komutunu çalıştırınopen.
StandardOutputPath
Bu özellik, uygulamadan stdout çıkışını bir dosyaya yeniden yönlendirmek için kullanılabilir.
Dosyaya yazma örneği:
$ dotnet run -p:StandardOutputPath=stdout.txt
Geçerli terminale yazma örneği:
$ dotnet run -p:StandardOutputPath=$(tty)
[... Console.WriteLine output from app ...]
Not: Bu, --stdout ... öğesini kullanarak OpenArguments özelliği aracılığıyla da gerçekleştirilebilir.
StandardErrorPath
Bu özellik, uygulamadan stderr çıkışını bir dosyaya yeniden yönlendirmek için kullanılabilir.
Dosyaya yazma örneği:
$ dotnet run -p:StandardErrorPath=stderr.txt
Geçerli terminale yazma örneği:
$ dotnet run -p:StandardErrorPath=$(tty)
[... Console.Error.WriteLine output from app ...]
Not: Bu, --stderr ... öğesini kullanarak OpenArguments özelliği aracılığıyla da gerçekleştirilebilir.
StandardInputPath
Bu özellik, stdin girişini bir dosyadan uygulamaya yeniden yönlendirmek için kullanılabilir.
Örnek:
$ dotnet run -p:StandardInputPath=stdin.txt
Not: Bu, --stdin ... öğesini kullanarak OpenArguments özelliği aracılığıyla da gerçekleştirilebilir.
SdkIsSimulator
Bu, bir simülatör için oluşturulup oluşturulmadığını belirten salt okunur bir özelliktir ve ayarını değiştirmek hiçbir etki yapmaz.
Yalnızca içeri aktarmalar ve özellikler değerlendirildikten sonra ayarlanır. Bu, proje dosyasındaki özellikler değerlendirilirken özelliğin ayarlanmadığı anlamına gelir, bu nedenle bu işlem çalışmaz :
<PropertyGroup>
<EnableCodeSigning Condition="'$(SdkIsSimulator)' == 'true'">false</EnableCodeSigning>
</PropertyGroup>
Ancak, aşağıdakilerden biri işe yarar:
<ItemGroup>
<!-- item groups (and their conditions) are evaluated after properties have been evaluated -->
<CustomEntitlements Condition="'$(SdkIsSimulator)' == 'true'" Include="com.apple.simulator-entitlement" Type="Boolean" Value="true" />
<CodesignConfigureDependsOn>$(CodesignConfigureDependsOn);ConfigureSimulatorSigning</CodesignConfigureDependsOn>
</ItemGroup>
<!-- targets are executed after properties have been evaluated -->
<Target Name="ConfigureSimulatorSigning">
<PropertyGroup>
<EnableCodeSigning Condition="'$(SdkIsSimulator) == 'true'">false</EnableCodeSigning>
</PropertyGroup>
</Target>
Not: Bu özellik her zaman macOS ve Mac Catalyst üzerinde olacaktır false .
StripPath
strip komut satırı aracının tam yolu.
Varsayılan davranış kullanmaktır xcrun strip.
Desteklenen İşletim Sistemi Platform Sürümü
Uygulamanın çalışabileceği en düşük işletim sistemi sürümünü belirtir.
Platforma özgü bir özelliği kullanmak da mümkündür:
TrimMode
Kırpma hassasiyetini belirtir.
Geçerli seçenekler şunlardır:
-
full: Her derlemeyi kırp. -
partial: Kırpmayı seçen derlemeleri kırp. -
copy: Herhangi bir derlemeyi kırpma.
TrimMode özelliği hakkında biraz daha bilgi için bkz. TrimMode
Uyarı
Teknik nedenlerle, düzelticinin hiçbir derleme kırpılmasa bile tüm iOS, tvOS, macOS ve Mac Catalyst projeleri için çalışması gerekir. Bu nedenle, PublishTrimmedfalse olarak ayarlanarak kırpmanın devre dışı bırakılması geçerli değildir - kırpmayı devre dışı bırakmak için bunun yerine TrimMode=copy ayarlayın (eğer PublishTrimmedfalse olarak ayarlanırsa, bir derleme hatası oluşur).
TrimMode özelliği mevcut MtouchLink (iOS, tvOS ve Mac Catalyst için) ve LinkMode (macOS için) özelliklerine eşdeğerdir, ancak geçerli özellik değerleri farklıdır (semantikler aynı olsa bile):
| MtouchLink/LinkMode | TrimMode |
|---|---|
| Tamamen dolu | dolu |
| SdkOnly | kısmi |
| Hiç kimse | kopya etmek |
Bundan sonra MtouchLink ve LinkMode özellikleri kullanım dışı bırakılacaktır, lütfen kullanın TrimMode .
Varsayılan kırpma modu çok sayıda faktöre bağlıdır ve gelecekte de değişebilir.
Geçerli (.NET 9 itibarıyla) varsayılan değerler şunlardır:
- iOS ve iOS:
partialcihaz için oluştururken,copysimülatör için oluştururken. - macOS: her zaman
copy. - Mac Catalyst:
partialyapılandırma için"Release"derleme yaparken,copyaksi takdirde.
Özel durumlar:
- NativeAOT ile oluştururken varsayılan değer her zamandır
full. - MAUI, yapılandırma için
copyoluşturulurken varsayılan değeriDebugolarak değiştirir ve yorumlayıcı UseInterpreter kullanılarak etkinleştirilir (MAUI, yapılandırmayı kullanırken"Debug"varsayılan olarak da etkinleştirir).
Uyarı
Varsayılan kırpma modu gelecekte değişebilir.
tvOSMinimumVersion (tvOS Minimum Sürüm)
Uygulamanın çalışabileceği en düşük tvOS sürümünü belirtir.
tvOS için geçerlidir; ayarı tvOS projeleri için SupportedOSPlatformVersion değerini ayarlar (yalnızca).
UseFloatingTargetPlatformVersion
Kitaplık projelerinin kayan hedef platform sürümünü mü yoksa kullanılabilir en eski platform sürümünü mü kullanması gerektiğini denetleyen boole özelliği.
Varsayılan olarak (.NET 10'dan başlayarak), açık TargetPlatformVersion olmayan kitaplık projeleri geçerli .NET sürümü için en eski kullanılabilir başvuru derlemelerini kullanır. Bu, maksimum uyumluluk sağlar ve kitaplık kodunun hedef çerçeve için kullanılabilen en düşük API yüzeyiyle derlemesini sağlar.
Ancak bu varsayılan davranış, kitaplık projelerinin yürütülebilir projelerden (en son platform sürümünü kullanan) farklı şekilde oluşturulduğu anlamına gelir. Yürütülebilir bir projede çalışan kod, yalnızca daha yeni platform sürümlerinde kullanılabilen API'leri kullanıyorsa bir kitaplık projesine taşındığında derlenmeyebilir.
Bu özelliğin ayarlanması true en eski platform sürümünün otomatik olarak seçilmesini devre dışı bırakır ve kitaplık projesinin yürütülebilir projeler gibi varsayılan (en son) platform sürümünü kullanmasını sağlar.
Örnek:
<PropertyGroup>
<!-- Use the latest platform version instead of the oldest -->
<UseFloatingTargetPlatformVersion>true</UseFloatingTargetPlatformVersion>
</PropertyGroup>
Varsayılan: false (.NET 10+'da kitaplık projeleri için en eski platform sürümünü kullanın).
Bu özellik yalnızca uygulama uzantısı olmayan ve açık bir hedef platform sürümü belirtmemiş kitaplık projeleri (OutputType=Library) için geçerlidir (hedef platform sürümü özelliğin TargetFramework sonundaki isteğe bağlı sürüm numarasıdır, örneğin hedef platform sürümünün açıkça net10.0-ios26.0olduğu TargetFramework 26.0 ).
Bu özellik .NET 10'da tanıtıldı.
UseHardenedRuntime
Sağlamlaştırılmış bir çalışma zamanının etkinleştirilip etkinleştirilmediğini belirten boole özelliği.
macOS ve Mac Catalyst projeleri için geçerlidir.
TercümanıKullan
Yorumlayıcıyı etkinleştirir (tüm derlemeler için).
Bu, MtouchInterpreter=all ayarını ayarlamaya eşdeğerdir.
iOS, tvOS ve Mac Catalyst uygulamaları için geçerlidir (NativeAOT kullanmadığında).
Varsayılan davranış, yorumlayıcıyı etkinleştirmemektir.
Uyarı
MAUI, UseInterpreter=true yapılandırması için "Debug" varsayılanı ayarlayarak değiştirir.
Daha fazla bilgi için bkz. MtouchInterpreter .
UseNativeHttpHandler
Yerel http işleyicisinin varsayılan http işleyicisi olup olmaması gerekir.
Varsayılan: macOS dışındaki tüm platformlar için true.
Hakları Doğrula
Uygulamanın talep ettiği hakların doğrulanıp doğrulanmayacağını seçin.
Bu özellik için geçerli değerler:
-
disable: Doğrulama devre dışı bırakıldı. -
warn: Tüm doğrulama hataları uyarı olarak gösterilir. -
error: Tüm doğrulama hataları hata olarak gösterilir. Varsayılan değer budur.
Doğrulama işlemi her hakkı doğrulamayabilir ve çok istekli davranmayacağının garantisi yoktur.
Yetkilendirmeler gerçekten çalışıyorsa, ancak doğrulama başarısız olursa lütfen yeni bir sorun oluşturun.
ValidateXcodeVersion
Geçerli Xcode sürümünün doğrulanıp doğrulanmayacağını seçin.
Varsayılan değer doğrulamaktır; false ayarını devre dışı bırakmak üzere ayarlayın.
Uyarı
Önerilen sürümden farklı bir sürümün kullanılması, derleme işleminin ilerleyen bölümlerinde sorunlara neden olabilir.
XamMacResourcePrefix
Kaynakların depolandığı dizin (kaynakları uygulama paketine kopyalarken bu ön ek kaldırılır).
macOS projeleri için geçerlidir.
Bunun yerine birleşik AppBundleResourcePrefix özelliğini kullanmayı düşünün.
Ayrıca bkz. IPhoneResourcePrefix ve MonoMacResourcePrefix.
ZipPath
zip komut satırı aracının tam yolu.
Varsayılan davranış kullanmaktır xcrun zip.