Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Właściwości programu MSBuild kontrolują zachowanie obiektów docelowych. Są one określone w pliku projektu, na przykład MyApp.csproj, w grupie właściwości MSBuild.
AltoolPath
Pełna ścieżka do altool narzędzia.
Domyślnym zachowaniem jest użycie elementu xcrun altool.
AppBundleResourcePrefix
Katalog, w którym są przechowywane zasoby (ten prefiks zostanie usunięty podczas kopiowania zasobów do pakietu aplikacji).
Jeśli ta właściwość nie zostanie jawnie ustawiona, odziedziczy jej wartość z właściwości prefiksu zasobu specyficznego dla platformy (IPhoneResourcePrefix, MonoMacResourcePrefix lub XamMacResourcePrefix w zależności od platformy).
Ustawienie domyślne: "Zasoby"
AppBundleDir
Lokalizacja utworzonego pakietu aplikacji.
AppBundleExtraOptions
Zaawansowane dodatkowe argumenty tworzenia pakietu aplikacji.
Prawidłowy zestaw argumentów zależy od platformy.
Zazwyczaj nie należy ich używać, chyba że zostanie to określone przez inżyniera firmy Microsoft.
Ikona aplikacji
Grupę AppIcon elementów można użyć do określenia ikony aplikacji dla aplikacji.
Wartość właściwości musi wskazywać nazwę pliku obrazu .appiconset (dla systemów iOS, macOS i Mac Catalyst) lub .brandassets (dla systemu tvOS), który znajduje się wewnątrz katalogu zasobów.
Przykład:
<PropertyGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAppIcon.appiconset" resource would be "MyAppIcon" -->
<AppIcon>MyAppIcon</AppIcon>
</PropertyGroup>
Zobacz również:
- Grupa elementów AlternateAppIcon .
- Właściwość IncludeAllAppIcons.
WersjaWyświetlanaAplikacji
Określa wartość CFBundleShortVersionString w manifeście aplikacji (Info.plist), jeśli zostanie ustawiona.
Jest to właściwość obsługującą program .NET "Single Project".
Aby uzyskać więcej informacji, zobacz OneDotNetSingleProject .
Identyfikator aplikacji
Określa wartość CFBundleIdentifier w manifeście aplikacji (Info.plist), jeśli zostanie ustawiona.
Jest to właściwość obsługującą program .NET "Single Project".
Aby uzyskać więcej informacji, zobacz OneDotNetSingleProject .
NazwaAplikacji
Jeśli jest ustawione, określa element CFBundleDisplayName w manifeście aplikacji (Info.plist).
Jest to właściwość obsługującą program .NET "Single Project".
Aby uzyskać więcej informacji, zobacz OneDotNetSingleProject .
WersjaAplikacji
Jeśli jest ustawione, określa element CFBundleVersion w manifeście aplikacji (Info.plist).
Jest to właściwość obsługującą program .NET "Single Project".
Aby uzyskać więcej informacji, zobacz OneDotNetSingleProject .
ArchiveBasePath
Lokalizacja, w której archiwa są przechowywane w systemie Windows na potrzeby kompilacji zdalnej.
Wartość domyślna to: %LocalAppData%\Xamarin\iOS\Archives
Dotyczy tylko projektów systemu iOS (ponieważ tylko projekty systemu iOS można tworzyć zdalnie z systemu Windows).
ArchiveOnBuild
Jeśli archiwum Xcode powinno zostać utworzone na końcu kompilacji.
BGenEmitDebugInformation
bgen Czy narzędzie (generator powiązań) powinno emitować informacje debugowania, czy nie.
Domyślne działanie to true, gdy właściwość Debug jest ustawiona na true.
BGenExtraArgs
Dodatkowe argumenty dla narzędzia bgen (generatora powiązań).
BGenToolExe
Nazwa bgen pliku wykonywalnego (narzędzie używane przez projekty powiązań do tworzenia powiązań).
Domyślnym zachowaniem jest użycie narzędzia bgen, które jest dostarczane wraz z naszym obciążeniem.
BGenToolPath
Katalog, w którym bgen znajduje się obiekt (BGenToolExe).
Domyślnym zachowaniem jest użycie narzędzia bgen, które jest dostarczane wraz z naszym obciążeniem.
BuildIpa
Jeśli pakiet (.ipa) powinien zostać utworzony dla pakietu aplikacji pod koniec kompilacji.
Dotyczy tylko projektów systemów iOS i tvOS.
Zobacz CreatePackage dla projektów macOS i Mac Catalyst.
BundleCreateDump
CoreCLR ma narzędzie wiersza polecenia nazywane createdump do tworzenia zrzutów pamięci, jeśli proces ulegnie awarii. System macOS automatycznie utworzy raporty o awarii dla wszystkich aplikacji ze sklepu App Store i udostępni je deweloperowi aplikacji, dzięki czemu createdump narzędzie nie jest przydatne w przypadku wielu aplikacji systemu macOS, a w związku z tym nie jest domyślnie uwzględniane w aplikacjach.
Można to zastąpić, ustawiając BundleCreateDump właściwość:
<PropertyGroup>
<BundleCreateDump>true</BundleCreateDump>
</PropertyGroup>
Uwaga: narzędzie createdump obecnie nie działa w przypadku aplikacji sandboxed (#18961);
Dotyczy tylko projektów korzystających ze środowiska uruchomieniowego CoreCLR (które w momencie pisania tego tekstu dotyczy tylko projektów systemu macOS).
PakietOryginalnychZasobów
Ta właściwość określa, czy zasoby są kompilowane przed osadzeniem w projektach bibliotek, czy też osadzana jest oryginalna (nieskompilowana) wersja.
W przeszłości zasoby były kompilowane przed osadzeniem ich w projektach bibliotecznych, ale wymaga to posiadania dostępu do środowiska Xcode, co ma kilka wad:
- Spowalnia zdalne kompilacje w systemie Windows.
- Nie będzie działać podczas lokalnego kompilowania w systemie Windows ani na żadnej innej platformie z wyjątkiem systemu macOS.
- Zasoby są kompilowane przy użyciu bieżącego dostępnego środowiska Xcode, które mogą nie mieć takich samych funkcji, jak potencjalnie nowszy kod Xcode dostępny po wykorzystaniu danej biblioteki.
- Nie można mieć całościowego wglądu w zasoby podczas budowania aplikacji, co jest niezbędne do wykrywania konfliktujących zasobów.
W związku z tym dodaliśmy obsługę osadzania oryginalnych zasobów w bibliotekach. Opcja rejestracji będzie dostępna w .NET 9, ale będzie można ją wyłączyć, zaczynając od .NET 10.
Wartość domyślna tej właściwości false na platformie .NET 9 i true na platformie .NET 10+.
Uwaga / Notatka
Zgłoś problem, jeśli okaże się, że musisz wyłączyć tę funkcję, ponieważ jest możliwe, że opcja jej wyłączenia zostanie usunięta w przyszłości.
CodesignAllocate
Ścieżka do codesign_allocate narzędzia.
Domyślnie ta wartość jest wykrywana automatycznie.
CodesignConfigureDependsOn
Jest to punkt rozszerzenia kompilacji: deweloper może dodać dowolne obiekty docelowe do tej właściwości, aby wykonać te obiekty docelowe, zanim kompilacja przyjrzy się dowolnym właściwościom współprojektowania.
Można to na przykład użyć do wyłączenia podpisywania kodu dla kompilacji symulatora:
<PropertyGroup>
<CodesignConfigureDependsOn>$(CodesignConfigureDependsOn);DisableCodesignInSimulator</CodesignConfigureDependsOn>
</PropertyGroup>
<Target Name="DisableCodesignInSimulator" Condition="'$(SdkIsSimulator)' == 'true'">
<PropertyGroup>
<EnableCodeSigning>false</EnableCodeSigning>
</PropertyGroup>
</Target>
CodesignDependsOn
Jest to punkt rozszerzenia dla kompilacji: deweloper może dodać dowolne cele do tej właściwości, aby wykonać te cele przed podpisaniem pakietu aplikacji.
Przykład:
<PropertyGroup>
<CodesignDependsOn>$(CodesignDependsOn);DoThisBeforeCodesign</CodesignDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCodesign">
<Exec Command="echo This is executed right before the app is signed." />
</Target>
CodesignEntitlements
Ścieżka do pliku uprawnień, który określa uprawnienia wymagane przez aplikację.
Zwykle „Entitlements.plist”.
Ustawimy to automatycznie na "Entitlements.plist", jeśli taki plik istnieje w katalogu głównym projektu.
Można temu zapobiec, ustawiając właściwość EnableDefaultCodesignEntitlements na false.
CodesignExtraArgs
Dodatkowe argumenty przekazywane do narzędzia 'codesign' podczas podpisywania pakietu aplikacyjnego.
CodesignKey
Określa klucz podpisywania kodu do użycia podczas podpisywania pakietu aplikacji.
CodesignKeychain
Pęk kluczy do użycia podczas podpisywania kodu.
KluczDoPodpisywaniaKodu
Określa klucz podpisywania kodu do użycia podczas podpisywania pakietu aplikacji.
Dotyczy tylko aplikacji macOS i Mac Catalyst, ale zaleca się użycie właściwości CodesignKey (która działa na wszystkich platformach).
CodesignProvision
Określa profil aprowizacji, który ma być używany podczas podpisywania pakietu aplikacji.
CodesignResourceRules
Ścieżka do pliku ResourceRules.plist do skopiowania do pakietu aplikacji.
CodesignRequireProvisioningProfile
Określa, czy wymagany jest profil konfiguracyjny podczas podpisywania pakietu aplikacji.
Domyślnie wymagany jest profil aprowizacji, jeśli:
- macOS, Mac Catalyst: określono profil aprowizacji (z właściwością CodesignProvision ).
- iOS, tvOS: kompilacja dla urządzenia lub określenie pliku uprawnień (z właściwością CodesignEntitlements).
Ustawienie tej właściwości na true lub false spowoduje zastąpienie logiki domyślnej.
PakietZasobówDoKompresjiBinding
Odwołania natywne w projektach powiązań są kopiowane do katalogu wyjściowego w trakcie procesu kompilacji, wraz z zestawem powiązań, do czegoś, co nazywamy "pakietem zasobów powiązań".
Te odwołania natywne mogą być przechowywane skompresowane wewnątrz pliku zip o nazwie $(AssemblyName).resources.zip, albo jako-w-iste, wewnątrz katalogu o nazwie $(AssemblyName).resources.
Właściwość CompressBindingResourcePackage określa, czy utworzyć plik zip, czy katalog.
Możliwe wartości to:
-
auto: automatycznie decyduje o najlepszej opcji (obecnie zawsze tworzony jest plik zip, ale gdy program Visual Studio zacznie obsługiwać długie ścieżki w systemie Windows, może to zostać zmienione na pakiety zasobów powiązane zip z dowiązaniami symbolicznymi). -
true: tworzenie pliku zip -
false: tworzenie katalogu
Wartość domyślna to auto.
Dotyczy to również sposobu przechowywania odwołań natywnych wewnątrz pakietów NuGet.
Uwaga / Notatka
W niektórych przypadkach korzystne może być wymuszenie użycia pliku zip również w systemie iOS, zwłaszcza gdy istnieje framework z plikami o długich nazwach, ponieważ plik zip może czasami obejść problemy z MAX_PATH w systemie Windows.
CreateAppBundleDependsOn
Jest to punkt rozszerzenia kompilacji: deweloper może dodać dowolne elementy docelowe do tej właściwości, aby wykonać te obiekty docelowe podczas tworzenia pakietu aplikacji.
Przykład:
<PropertyGroup>
<CreateAppBundleDependsOn>$(CreateAppBundleDependsOn);DoThisBeforeCreatingAppBundle</CreateAppBundleDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingAppBundle">
<Exec Command="echo This is executed before the app bundle is created." />
</Target>
CreateIpaDependsOn
Jest to punkt rozszerzenia kompilacji: deweloper może dodać dowolne obiekty docelowe do tej właściwości, aby wykonać te obiekty docelowe podczas tworzenia usługi IPA.
Dotyczy wszystkich platform, które tworzą archiwa IPA (obecnie systemy iOS i tvOS).
Przykład:
<PropertyGroup>
<CreateIpaDependsOn>$(CreateIpaDependsOn);DoThisBeforeCreatingIPA</CreateIpaDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingIPA">
<Exec Command="echo This is executed before the IPA is created." />
</Target>
UtwórzPakiet
Jeśli pakiet (.pkg) powinien zostać utworzony dla pakietu aplikacji na końcu kompilacji.
Dotyczy tylko projektów macOS i Mac Catalyst.
Zobacz BuildIpa for iOS and tvOS projects ( Kompilowanie projektów systemu iOS i tvOS).
DeviceSpecificBuild
Jeśli kompilacja powinna być specyficzna dla wybranego urządzenia.
Dotyczy wszystkich platform obsługujących kompilacje specyficzne dla urządzenia (obecnie systemy iOS i tvOS).
DeviceSpecificIntermediateOutputPath
Ścieżka wyjściowa pośrednia do użycia, gdy są włączone kompilacje specyficzne dla urządzenia.
Dotyczy wszystkich platform obsługujących kompilacje specyficzne dla urządzenia (obecnie systemy iOS i tvOS).
DeviceSpecificOutputPath
Ścieżka wyjściowa używana w przypadku, gdy włączone są kompilacje specyficzne dla urządzenia.
Dotyczy wszystkich platform obsługujących kompilacje specyficzne dla urządzenia (obecnie systemy iOS i tvOS).
Adres diagnostyczny
Adres IP, na którym dotnet-dsrouter jest wykonywane. Jest to typowo 127.0.0.1 podczas profilowania w symulatorze, a także adres IP komputera, gdzie dotnet-dsrouter podczas profilowania na urządzeniu.
Jest to element adresu IP DiagnosticConfiguration.
Niejawnie ustawia wartość EnableDiagnostics na true.
Wartość domyślna to 127.0.0.1.
Konfiguracja diagnostyczna
Wartość podana przez dotnet-dsrouter dla DOTNET_DiagnosticPorts, taka jak:
127.0.0.1:9000,suspend,connect127.0.0.1:9000,nosuspend,connect
Należy pamiętać, że znak , musi zostać zescapowany za pomocą %2c, jeśli zostanie przekazany w wierszu polecenia do dotnet build:
dotnet build -c Release -p:DiagnosticConfiguration=127.0.0.1:9000%2csuspend%2cconnect
Spowoduje to automatyczne ustawienie zmiennej DOTNET_DiagnosticPorts środowiskowej spakowanej wewnątrz aplikacji, tak aby zmienna środowiskowa została ustawiona podczas uruchamiania aplikacji.
Niejawnie ustawia wartość EnableDiagnostics na true.
Domyślne zachowanie polega na obliczaniu tej wartości z innych właściwości diagnostycznych (DiagnosticAddress, DiagnosticPort, DiagnosticListenMode i DiagnosticSuspend).
W przypadku ustawienia dowolny z innych właściwości diagnostycznych zostanie zignorowany.
DiagnosticListenMode
Wartość podana przez dotnet-dsrouter, taka jak connect lub listen, w elemencie trybu nasłuchiwania składnika DiagnosticConfiguration.
Niejawnie ustawia wartość EnableDiagnostics na true.
Wartość domyślna to listen.
DiagnosticPort
Wartość dostarczona przez dotnet-dsrouter, taka jak 9000, składnik portu DiagnosticConfiguration.
Niejawnie ustawia wartość EnableDiagnostics na true.
Wartość domyślna to 9000.
DiagnosticSuspend
Wartość określająca zachowanie uruchamiania podczas profilowania aplikacji.
Ustaw opcję na true wstrzymanie aplikacji podczas uruchamiania (oczekiwanie na nawiązanie połączenia z aplikacją przez serwer diagnostyczny) lub false uruchomienie aplikacji w zwykły sposób (i połączenie serwera diagnostycznego z aplikacją później).
suspend/nosuspend To odpowiada wartości w DiagnosticConfiguration".
Niejawnie ustawia wartość EnableDiagnostics na true.
Wartość domyślna to false.
DittoPath
Pełna ścieżka do ditto pliku wykonywalnego.
Domyślnym zachowaniem jest użycie elementu /usr/bin/ditto.
EmbedOnDemandResources
Jeśli zasoby na żądanie powinny być osadzone w pakiecie aplikacji.
Domyślnie: prawda.
WłączPodpisywanieKodów
Jeśli podpisywanie kodu jest włączone.
Podpisywanie kodu jest domyślnie włączone dla wszystkich platform; Można to zastąpić tą właściwością.
EnableDefaultCodesignEntitlements (Włącz domyślne uprawnienia do podpisywania kodu)
Zobacz CodesignEntitlements.
Włącz zasoby na żądanie
Jeśli zasoby na żądanie są włączone.
Ustawienie domyślne: wartość false dla systemu macOS, prawda dla wszystkich innych platform.
WłączPodpisywaniePakietu
Jeśli .pkg, który został utworzony (jeśli CreatePackage został włączony), powinien zostać podpisany.
Dotyczy tylko systemów macOS i Mac Catalyst.
WłączDiagnostykę
Włącz składniki wymagane do działania diagnostyki (na przykład profilowanie).
Jest domyślnie włączona dla kompilacji debug (gdy jest włączona funkcja MtouchDebug lub MmpDebug), ale należy ją ręcznie włączyć przed profilowaniem kompilacji wersji produkcyjnej.
<PropertyGroup>
<EnableDiagnostics>true</EnableDiagnostics>
</PropertyGroup>
Spowoduje to nieznaczne zwiększenie rozmiaru aplikacji.
Ma zastosowanie tylko w przypadku korzystania ze środowiska uruchomieniowego Mono (CoreCLR zawsze obsługuje diagnostykę, podczas gdy nativeAOT nigdy nie działa).
EnableSGenConc
Włącza tryb współbieżny dla garbage collectora SGen.
Dotyczy tylko systemów iOS, tvOS i Mac Catalyst (w przypadku braku użycia funkcji NativeAOT).
EventSourceSupport
Gdy ustawiona jest wartość false, wyłącza obsługę EventSource platformy .NET z aplikacji z ograniczoną zawartością. Wyłączenie tej funkcji uniemożliwiłoby działanie narzędzi diagnostycznych platformy .NET, takich jak dotnet-counters, co jednak zmniejsza rozmiar aplikacji.
Wartość domyślna: ustaw na false, gdy Optimize jest ustawione na true (co jest wartością domyślną dla kompilacji Release), chyba że $(EnableDiagnostics) jest włączone.
GenerowanieManifestuAplikacji
Jeśli manifest aplikacji (Info.plist) powinien zostać wygenerowany.
Domyślnie: prawda.
GeneratedSourcesDir
Miejsce, w którym zapisywane są wygenerowane źródła przez generator.
UwzględnijWszystkieIkonyAplikacji
Ustaw właściwość na true, IncludeAllAppIcons aby automatycznie uwzględniać wszystkie ikony aplikacji ze wszystkich katalogów zasobów w aplikacji.
Przykład:
<PropertyGroup>
<IncludeAllAppIcons>true</IncludeAllAppIcons>
</PropertyGroup>
Zobacz również:
- Grupa elementów AlternateAppIcon .
- Właściwość AppIcon.
iOSMinimumVersion
Określa minimalną wersję systemu iOS, w ramach których aplikacja może działać.
Dotyczy systemu iOS; Ustawienie tej wartości spowoduje ustawienie SupportedOSPlatformVersion dla projektów systemu iOS (tylko).
IPhoneResourcePrefix
Katalog, w którym są przechowywane zasoby (ten prefiks zostanie usunięty podczas kopiowania zasobów do pakietu aplikacji).
Dotyczy projektów iOS, tvOS i Mac Catalyst.
Rozważ użycie ujednoliconej właściwości AppBundleResourcePrefix .
Zobacz także MonoMacResourcePrefix i XamMacResourcePrefix.
IpaIncludeArtwork
Jeśli grafika powinna zostać uwzględniona w IPA.
Dotyczy tylko projektów systemów iOS i tvOS.
IpaPackageName
Określa nazwę wynikowego pliku ipa (bez ścieżki) podczas tworzenia pakietu IPA (zobacz BuildIpa). Parametr IpaPackagePath zastąpi tę wartość.
Dotyczy tylko projektów systemów iOS i tvOS.
IpaPackageDir
Określa katalog wynikowego pliku ipa podczas tworzenia pakietu IPA (zobacz BuildIpa). Parametr IpaPackagePath zastąpi tę wartość.
Dotyczy tylko projektów systemów iOS i tvOS.
IpaPackagePath
Określa ścieżkę do wynikowego pliku ipa podczas tworzenia pakietu IPA (zobacz BuildIpa).
Dotyczy tylko projektów systemów iOS i tvOS.
IsAppExtension
Jeśli projekt jest rozszerzeniem aplikacji.
IsBindingProject
Jeśli projekt jest wiążącym projektem.
IsXPCService
Jeśli rozszerzenie systemu macOS jest usługą xpc.
Dotyczy tylko projektów systemu macOS.
Tryb Łączenia
Określa tryb łącza dla projektu (NoneSdkOnlylub Full).
Dotyczy projektów systemu macOS, ale ta właściwość jest przestarzała, zamiast tego użyj funkcji TrimMode .
Zobacz też MtouchLink.
LinkWithSwiftSystemLibraries
Jeśli ustawiono na true, kompilacja poinformuje natywnego konsolidatora, gdzie można znaleźć systemowe biblioteki Swift.
Jest to przydatne, gdy biblioteka natywna w jakiś sposób korzysta ze Swift, w takim przypadku natywny linker musi wiedzieć, gdzie znaleźć systemowe biblioteki Swift.
Obecnie oznacza to, że te argumenty zostaną przekazane do linkera systemowego.
- -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
Dokładny zestaw argumentów może ulec zmianie w przyszłości.
MacCatalystMinimumVersion
Określa minimalną wersję narzędzia Mac Catalyst (iOS), na których może działać aplikacja.
Dotyczy Mac Catalyst; ustawienie tej wartości spowoduje ustawienie SupportedOSPlatformVersion tylko dla projektów Mac Catalyst.
MaciOSPrepareForBuildDependsOn
Właściwość rozdzielana średnikami, która może służyć do rozszerzania procesu kompilacji. Obiekty docelowe programu MSBuild dodane do tej właściwości będą wykonywane na wczesnym etapie kompilacji zarówno dla typów projektów aplikacji, jak i biblioteki. Ta właściwość jest domyślnie pusta.
Przykład:
<PropertyGroup>
<MaciOSPrepareForBuildDependsOn>$(MaciOSPrepareForBuildDependsOn);MyCustomTarget</MaciOSPrepareForBuildDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Ta właściwość została wprowadzona na platformie .NET 9.
macOSMinimumVersion
Określa minimalną wersję systemu macOS, w ramach których aplikacja może działać.
Dotyczy systemu macOS; ustawienie tej wartości spowoduje ustawienie SupportedOSPlatformVersion dla projektów systemu macOS (tylko).
MacOSXSdkVersion
Wersja zestawu SDK systemu macOS do użycia na potrzeby kompilacji.
Ustawienie domyślne: automatycznie wykryte zgodnie z domyślną wersją dostarczoną z wybranym Xcode.
Zobacz również MtouchSdkVersion.
Tryb zarządzania wyjątkami Marshal
Wybierz sposób obsługi wyjątków zarządzanych podczas napotkania ramki natywnej podczas odwijania stosu podczas przetwarzania wyjątku zarządzanego.
Prawidłowe wartości:
-
default: Obecnie to jestthrowobjectivecexception. -
unwindnativecode: Nie jest to dostępne w przypadku korzystania ze środowiska uruchomieniowego CoreCLR. -
throwobjectivecexception: Przechwyć wyjątek zarządzany i przekonwertuj go na wyjątek Objective-C. -
abort: przerwać proces. -
disable: Wyłącz przechwytywanie wyjątków zarządzanych. W przypadku MonoVM jest to odpowiednikunwindnativecode, dla CoreCLR jest to odpowiednikabort.
Aby uzyskać więcej informacji, zobacz Marshaling wyjątków i MarshalObjectiveCExceptionMode.
MarshalObjectiveCExceptionMode
Wybierz metodę obsługi wyjątków Objective-C, gdy napotkasz zarządzaną ramkę w trakcie odwijania stosu przy przetwarzaniu wyjątku Objective-C.
Prawidłowe wartości:
-
default: Obecnie to jestthrowmanagedexception. -
unwindmanagedcode: Nie jest to dostępne w przypadku korzystania ze środowiska uruchomieniowego CoreCLR. -
throwmanagedexception: Przechwyć wyjątek Objective-C i przekonwertuj go na wyjątek zarządzany. -
abort: przerwać proces. -
disable: Wyłącz przechwytywanie wszystkich wyjątków typu Objective-C.
Aby uzyskać więcej informacji, zobacz Marshaling wyjątków i MarshalManagedExceptionMode.
MdimportPath
Pełna ścieżka do mdimport narzędzia.
Domyślnym zachowaniem jest użycie elementu xcrun mdimport.
MetalLibPath
Pełna ścieżka do metallib narzędzia (Metal Linker).
Domyślnym zachowaniem jest użycie elementu xcrun metallib.
MetalPath
Pełna ścieżka do kompilatora Metal.
Domyślnym zachowaniem jest użycie elementu xcrun metal.
MetricsSupport
Gdy ustawiona jest wartość false, wyłącza obsługę metryk platformy .NET w zredukowanych aplikacjach. Wyłączenie tej funkcji uniemożliwiłoby działanie takich interfejsów API, jak System.Diagnostics.Metrics, ale z korzyścią dla zmniejszenia rozmiaru aplikacji.
Domyślnie: ustaw false, gdy Optimize jest ustawione na true (co jest domyślną wartością dla kompilacji Release), chyba że $(EnableDiagnostics) jest włączone.
MmpDebug
Włącza tryb debugowania na potrzeby tworzenia pakietu aplikacji.
Dotyczy tylko projektów systemu macOS.
Zobacz również MtouchDebug.
Agresywne Przycinanie Atrybutów w Trybie Mobilnym
Ta właściwość określa, czy należy usunąć liczne atrybuty, które są niezwykle rzadko potrzebne w czasie wykonywania.
Ta opcja jest domyślnie włączona.
Należy pamiętać, że chociaż usunięte atrybuty są bardzo rzadko używane, jest technicznie możliwe, że usunięcie może zmienić zachowanie środowiska uruchomieniowego.
Na przykład system.Xml.Serialization zachowuje się inaczej, jeśli konstruktor ma [Obsolete] atrybut (który jest jednym z atrybutów, które są usuwane). Jest to wystarczająco niskie ryzyko, aby uzasadnić usunięcie tych atrybutów domyślnie z powodu oszczędności rozmiaru.
Lista usuniętych atrybutów może ulec zmianie w przyszłości, ale w momencie pisania tego tekstu (dla platformy .NET 10) są to atrybuty:
- 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
Ta właściwość została wprowadzona na platformie .NET 10.
MonoBundlingExtraArgs
Dodatkowe argumenty określające sposób tworzenia pakietu aplikacji.
Dotyczy tylko projektów systemu macOS.
Ta właściwość jest przestarzała, zamiast tego użyj polecenia AppBundleExtraOptions .
MonoMacResourcePrefix
Katalog, w którym są przechowywane zasoby (ten prefiks zostanie usunięty podczas kopiowania zasobów do pakietu aplikacji).
Dotyczy tylko projektów systemu macOS.
Rozważ użycie ujednoliconej właściwości AppBundleResourcePrefix .
Zobacz również IPhoneResourcePrefix i XamMacResourcePrefix.
MonoUseCompressedInterfaceBitmap
Dzięki temu środowisko uruchomieniowe Mono będzie używać skompresowanej wersji map bitowych interfejsu (mapy bitowe interfejsu są używane do określania, czy określone typy implementują dany interfejs).
Te mapy bitowe mogą używać znacznej ilości pamięci w czasie wykonywania, w szczególności w przypadku aplikacji, które mają znaczną ilość interfejsów.
To ustawienie jest domyślnie wyłączone, ale można je włączyć w ten sposób, co spowoduje zmniejszenie ilości pamięci używanej w czasie wykonywania:
<PropertyGroup>
<MonoUseCompressedInterfaceBitmap>true</MonoUseCompressedInterfaceBitmap>
</PropertyGroup>
Wadą jest to, że kontrole typów (obj is SomeInterface) będą wolniejsze.
Ma zastosowanie tylko w przypadku korzystania ze środowiska uruchomieniowego Mono.
MtouchDebug
Włącza tryb debugowania na potrzeby tworzenia pakietu aplikacji.
Dotyczy projektów iOS, tvOS i Mac Catalyst.
Zobacz też MmpDebug.
MtouchEnableSGenConc
Włącza tryb współbieżny dla garbage collectora SGen.
Dotyczy tylko systemów iOS, tvOS i Mac Catalyst, gdy nie używasz funkcji NativeAOT.
Ta właściwość jest przestarzała, zamiast tego użyj polecenia EnableSGenConc .
MtouchExtraArgs
Dodatkowe argumenty określające sposób tworzenia pakietu aplikacji.
Dotyczy tylko projektów iOS, tvOS i Mac Catalyst.
Ta właściwość jest przestarzała, zamiast tego użyj polecenia AppBundleExtraOptions .
MtouchInterpreter
Włącza interpreter i opcjonalnie przyjmuje rozdzieloną przecinkami listę zestawów do interpretacji (jeśli cały prefiks jest poprzedzony znakiem minus, zestaw zostanie skompilowany w trybie AOT). Parametr "all" może służyć do określania wszystkich zestawów. Ten argument można określić wiele razy.
Przykład:
<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>
Skrót dla MtouchInterpreter to ustawienie UseInterpreter=true, co jest równoważne MtouchInterpreter=all.
Jeśli zarówno UseInterpreter jak i MtouchInterpreter są ustawione, wartość MtouchInterpreter ma pierwszeństwo.
Dotyczy aplikacji dla systemów iOS, tvOS i Mac Catalyst (kiedy nie używa się funkcji NativeAOT).
Domyślne zachowanie polega na tym, że interpreter nie jest włączony.
Uwaga / Notatka
Domyślne ustawienie dla konfiguracji UseInterpreter=true jest zmieniane przez program MAUI na "Debug".
MtouchLink
Określa tryb linku dla projektu (None, SdkOnly, Full).
Dotyczy projektów z systemami iOS, tvOS i Mac Catalyst, ale ta właściwość jest przestarzała, zamiast tego należy użyć funkcji TrimMode .
Zobacz też LinkMode.
MtouchSdkVersion
Wersja zestawu SDK systemu iOS lub tvOS do użycia na potrzeby kompilacji.
Ustawienie domyślne: automatycznie wykryte zgodnie z domyślną wersją dostarczoną z wybranym Xcode.
Zobacz też MacOSXSdkVersion.
MtouchUseLlvm
Właściwość logiczna określająca, czy kompilacja AOT powinna być wykonywana przy użyciu LLVM.
Dotyczy projektów iOS, tvOS i Mac Catalyst.
Wartość domyślna:
- W systemach iOS i tvOS: włączono obsługę kompilacji wydania (gdzie
Configuration="Release"). - Na Komputerze Mac Catalyst: nigdy nie jest domyślnie włączony.
NoBindingEmbedding
Właściwość logiczna określająca, czy biblioteki natywne w projektach wiążących powinny być osadzone w zarządzanym zestawie, czy umieszczone w katalogu obok zarządzanego zestawu.
Wartość domyślna to true (co oznacza, że biblioteki natywne nie zostaną osadzone w zestawie zarządzanym).
Uwaga / Notatka
Xcframeworks nie będą działać poprawnie, jeśli są osadzone wewnątrz zestawu zarządzanego (jeśli ta właściwość nie jest true).
NoDSymUtil
Właściwość logiczna określająca, czy należy wyłączyć generowanie plików .dSYM.
Wartość domyślna:
-
truedla systemów iOS i tvOS podczas kompilowania dla symulatora. -
truedla systemów macOS i Mac Catalyst, chyba że tworzysz archiwum (ArchiveOnBuild=true)
Oznacza to, że archiwum .dSYM zostanie wygenerowane w następujących przypadkach (domyślnie):
- W systemach iOS i tvOS podczas kompilowania dla urządzenia.
- W systemach macOS i Mac Catalyst podczas tworzenia archiwum (
ArchiveOnBuild=true).
NoSymbolStrip
Właściwość logiczna określająca, czy symbole debugowania są usuwane z aplikacji w czasie kompilacji.
Domyślne zachowanie polega na zachowaniu symboli debugowania dla:
-
Debugkompilacje dla platform stacjonarnych. - Wersje symulatora na urządzenia mobilne.
Przykład przechowywania symboli debugowania:
<PropertyGroup>
<NoSymbolStrip>true</NoSymbolStrip>
</PropertyGroup>
OnDemandResourcesInitialInstallTags
Właściwość ciągu określająca początkowe tagi instalacji dla zasobów na żądanie.
OnDemandResourcesPrefetchOrder
Właściwość ciągu określająca kolejność wstępnego pobierania dla zasobów na żądanie.
URL zasobów na żądanie
Właściwość tekstowa określająca adres URL zasobu dla zasobów dostępnych na żądanie.
Optymalizuj PNG
Właściwość logiczna określająca, czy obrazy png powinny być zoptymalizowane.
OptymalizacjaObrazówPngZależyOd
Jest to punkt rozszerzenia kompilacji: deweloper może dodać dowolne obiekty docelowe do tej właściwości, aby wykonać te obiekty docelowe przed zoptymalizowaniem jakichkolwiek obrazów png.
Przykład:
<PropertyGroup>
<OptimizePngImagesDependsOn>$(OptimizePngImagesDependsOn);MyCustomTarget</OptimizePngImagesDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
OptymalizujListyWłaściwości
Właściwość logiczna określająca, czy listy właściwości (plisty) powinny być zoptymalizowane.
OptimizePropertyListsZależyOd
Jest to punkt rozszerzenia kompilacji: deweloper może dodać dowolne obiekty docelowe do tej właściwości, aby wykonać te obiekty docelowe przed zoptymalizowaniem list właściwości (plists).
Przykład:
<PropertyGroup>
<OptimizePropertyListsDependsOn>$(OptimizePropertyListsDependsOn);MyCustomTarget</OptimizePropertyListsDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
KluczPodpisuPakietu
Określa klucz podpisywania kodu, aby podpisać pakiet podczas tworzenia .pkg dla projektu macOS i Mac Catalyst.
Dotyczy tylko aplikacji macOS i Mac Catalyst.
PackagingExtraArgs
Określa wszelkie dodatkowe argumenty, które mają być przekazywane do narzędzia "productbuild" podczas tworzenia .pkg dla projektu macOS i Mac Catalyst.
Dotyczy tylko aplikacji macOS i Mac Catalyst.
PkgPackagePath
Określa ścieżkę do wynikowego pliku .pkg podczas tworzenia pakietu (zobacz CreatePackage).
Dotyczy tylko aplikacji macOS i Mac Catalyst.
PlutilPath
Pełna ścieżka do plutil narzędzia wiersza polecenia.
Domyślnym zachowaniem jest użycie elementu xcrun plutil.
PngCrushPath
Pełna ścieżka do pngcrush narzędzia wiersza polecenia.
Domyślnym zachowaniem jest użycie elementu xcrun pngcrush.
ProcessEnums
Właściwość logiczna określająca, czy wyliczenia powinny być przetwarzane jako definicja interfejsu API w projektach powiązań.
ProductBuildPath
Pełna ścieżka do productbuild narzędzia.
Domyślnym zachowaniem jest użycie elementu xcrun productbuild.
Definicja Produktu
Szablon definicji produktu (.plist) do użycia podczas tworzenia definicji produktu do przekazania do narzędzia kompilacji produktu podczas tworzenia pakietów (.pkg).
Dotyczy tylko aplikacji macOS i Mac Catalyst.
ReferenceNativeSymbol
Grupę ReferenceNativeSymbol elementów można użyć do określenia sposobu obsługi danego symbolu natywnego: zignoruj go lub poproś konsolidatora natywnego o jego zachowanie (przekazując symbol jako -u ... lub w pliku symboli do konsolidatora natywnego).
Istnieją dwa obsługiwane typy metadanych:
-
SymbolTypeObjectiveCClass: lubFunctionField. Służy do obliczania pełnej rodzimej nazwy symbolu (na przykład rodzimego symbolu klasyMyClassObjective-C to_OBJC_CLASS_$_MyClass, podczas gdy dla funkcjiMyFunctionjest to tylko_MyFunction). -
SymbolMode: alboIgnorealbo nie ustawiono.Ignoreoznacza, aby nie przekazywać danego symbolu do natywnego konsolidatora, domyślnie symbol jest przekazywany.
SymbolType parametr jest wymagany, chociaż SymbolMode nie jest.
Przykładowy symbol do zachowania:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" />
</ItemGroup>
Przykładowy symbol do zignorowania:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" SymbolMode="Ignore" />
</ItemGroup>
RequirePołączenieZAtrybutemDlaWyszukiwaniaKlasyObjectiveC
Automatycznie przeskanujemy wszystkie biblioteki pod kątem klas zarządzanych mapujących na istniejące klasy Objective-C, a następnie w czasie kompilacji utworzymy natywne odwołanie dla tych klas Objective-C.
W ten sposób natywny linker nie usunie tych klas Objective-C, myśląc, że nie są używane.
Może to jednak spowodować problem, jeśli klasa zarządzana odwołuje się do klasy Objective-C, która nie istnieje. Właściwą poprawką jest usunięcie takich klas zarządzanych z kompilacji, ale może to być kłopotliwe, w szczególności jeśli klasa zarządzana pochodzi z odwołania binarnego (takiego jak NuGet).
W takich przypadkach można ustawić właściwość RequireLinkWithAttributeForObjectiveCClassSearch na true , aby skanować biblioteki tylko za pomocą atrybutu [LinkWith] dla klas Objective-C:
<PropertyGroup>
<RequireLinkWithAttributeForObjectiveCClassSearch>true</RequireLinkWithAttributeForObjectiveCClassSearch>
</PropertyGroup>
RunWithOpen
Ta właściwość określa, czy aplikacje są uruchamiane przy użyciu open polecenia w systemie macOS, czy też czy plik wykonywalny aplikacji jest wykonywany bezpośrednio.
Dotyczy to tylko aplikacji macOS i Mac Catalyst.
Domyślna wartość to true. W tym trybie aplikacja zostanie uruchomiona przez macOS tak jak każda inna aplikacja UI, wszystkie dane wyjściowe stdout/stderr zostaną zignorowane przez macOS, a polecenie dotnet run zakończy się natychmiast po uruchomieniu aplikacji.
Jeśli ustawiono false, wszystkie dane outputu stdout/stderr zostaną wyświetlone w bieżącym terminalu, a dotnet run polecenie nie zostanie zakończone, dopóki aplikacja się nie zakończy.
Następujące właściwości mogą służyć do konfigurowania zachowania w przypadku ustawienia wartości true (tj. przy użyciu open polecenia ):
OtwórzNowąInstancję
Jeśli nowe wystąpienie zostanie otwarte, jeśli aplikacja jest już uruchomiona (domyślnie to false).
Spowoduje to przekazanie -n do open, jeśli ustawiono na true.
Przykład:
$ dotnet run -p:OpenNewInstance=false
OpenArguments
Ta właściwość może służyć do przekazywania dodatkowych argumentów do open polecenia.
Przykład (aby ustawić zmienne środowiskowe):
$ dotnet run -p:OpenArguments="--env VARIABLE1=VALUE1 --env VARIABLE2=value2"
Przykład (aby przekierować stdout i stderr do pliku):
$ dotnet run -p:OpenArguments="--stdout /tmp/stdout.txt --stderr /tmp/stderr.txt"
Uruchom polecenie man open , aby wyświetlić listę wszystkich akceptowanych opcji open .
StandardOutputPath
Tej właściwości można użyć do przekierowania danych wyjściowych stdout z aplikacji do pliku.
Przykład zapisu w pliku:
$ dotnet run -p:StandardOutputPath=stdout.txt
Przykład pisania do bieżącego terminala.
$ dotnet run -p:StandardOutputPath=$(tty)
[... Console.WriteLine output from app ...]
Uwaga: można to również zrobić, przekazując --stdout ... przy użyciu właściwości OpenArguments .
StandardErrorPath
Tej właściwości można użyć do przekierowania danych wyjściowych stderr z aplikacji do pliku.
Przykład zapisu w pliku:
$ dotnet run -p:StandardErrorPath=stderr.txt
Przykład pisania w bieżącym terminalu:
$ dotnet run -p:StandardErrorPath=$(tty)
[... Console.Error.WriteLine output from app ...]
Uwaga: można to również zrobić, przekazując --stderr ... przy użyciu właściwości OpenArguments .
StandardInputPath
Tej właściwości można użyć do przekierowania danych wejściowych stdin do aplikacji z pliku.
Przykład:
$ dotnet run -p:StandardInputPath=stdin.txt
Uwaga: można to również zrobić, przekazując --stdin ... przy użyciu właściwości OpenArguments .
SdkIsSimulator
Ta właściwość jest właściwością tylko do odczytu (ustawienie nie będzie miało żadnego efektu), która określa, czy kompilujemy symulator, czy nie.
Jest ona ustawiana tylko po ocenie importów i właściwości . Oznacza to, że właściwość nie jest ustawiona podczas oceniania właściwości w pliku projektu, więc nie będzie to działać:
<PropertyGroup>
<EnableCodeSigning Condition="'$(SdkIsSimulator)' == 'true'">false</EnableCodeSigning>
</PropertyGroup>
Jednak jeden z następujących elementów działa:
<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>
Uwaga: ta właściwość będzie zawsze znajdować się false w systemach macOS i Mac Catalyst.
StripPath
Pełna ścieżka do strip narzędzia wiersza polecenia.
Domyślnym zachowaniem jest użycie elementu xcrun strip.
SupportedOSPlatformVersion
Określa minimalną wersję systemu operacyjnego, w ramach których aplikacja może działać.
Można również użyć właściwości specyficznej dla platformy:
TrimMode
Określa stopień szczegółowości przycinania.
Prawidłowe opcje to:
-
full: Przycinanie każdego zestawu. -
partial: Przycinanie zestawów, które zdecydowały się na ten proces. -
copy: Nie przycinaj żadnych zestawów.
Aby uzyskać więcej informacji na temat właściwości, zobacz TrimMode.
Uwaga / Notatka
Ze względów technicznych trymer musi być uruchamiany dla wszystkich projektów systemów iOS, tvOS, macOS i Mac Catalyst, nawet jeśli zestawy nie mają być przycinane. Z tego powodu nie można uznać za prawidłowe wyłączenie przycinania przez ustawienie PublishTrimmed na false — aby wyłączyć przycinanie, należy ustawić TrimMode=copy zamiast tego (zostanie zgłoszony błąd kompilacji, jeśli PublishTrimmed zostanie ustawione na false).
Właściwość jest równoważna TrimMode istniejącym właściwościom MtouchLink (dla systemów iOS, tvOS i Mac Catalyst) i LinkMode (dla systemu macOS), ale prawidłowe wartości właściwości są różne (mimo że semantyka jest taka sama):
| MtouchLink/LinkMode | TrimMode |
|---|---|
| Pełny | pełny |
| SDKOnly | częściowo |
| Żaden | kopiuj |
W dalszej perspektywie właściwości MtouchLink i LinkMode zostaną wycofane; proszę używać TrimMode zamiast nich.
Domyślny tryb przycinania zależy od wielu czynników i może również ulec zmianie w przyszłości.
Bieżące wartości domyślne (od platformy .NET 9) to:
- iOS i iOS:
partialpodczas kompilowania dla urządzenia, acopypodczas kompilowania dla symulatora. - macOS: zawsze
copy. - Mac Catalyst:
partialdla konfiguracji"Release",copyw innym przypadku.
Wyjątki:
- Wartość domyślna jest zawsze
fullw przypadku kompilowania za pomocą funkcji NativeAOT. - Program MAUI zmienia domyślną wartość na
copy, gdy kompilowana jest konfiguracjaDebugi interpreter jest włączony przy użyciu UseInterpreter (co MAUI również domyślnie włącza przy użyciu konfiguracji"Debug").
Uwaga / Notatka
Domyślny tryb przycinania może ulec zmianie w przyszłości.
tvOSMinimumVersion
Określa minimalną wersję systemu tvOS, w ramach których aplikacja może działać.
Dotyczy systemu tvOS; ustawienie tej wartości spowoduje ustawienie SupportedOSPlatformVersion dla projektów tvOS (tylko).
UseFloatingTargetPlatformVersion
Właściwość logiczna określająca, czy projekty bibliotek powinny używać przestawnej wersji platformy docelowej, czy najstarszej dostępnej wersji platformy.
Domyślnie (począwszy od .NET 10) projekty bibliotek, które nie mają jawnie określonego TargetPlatformVersion, użyją najstarszych dostępnych zestawów referencyjnych dla bieżącej wersji platformy .NET. Zapewnia to maksymalną zgodność i umożliwia kompilowanie kodu biblioteki względem minimalnej powierzchni interfejsu API dostępnej dla platformy docelowej.
Jednak to domyślne zachowanie oznacza, że projekty bibliotek są tworzone inaczej niż projekty wykonywalne (które korzystają z najnowszej wersji platformy). Kod, który działa w projekcie wykonywalnym, może nie być kompilowany po przeniesieniu do projektu biblioteki, jeśli używa interfejsów API dostępnych tylko w nowszych wersjach platformy.
Ustawienie tej właściwości na true wyłącza automatyczny wybór najstarszej wersji platformy, co pozwala projektowi biblioteki na użycie domyślnej (najnowszej) wersji platformy, podobnie jak robią to projekty wykonywalne.
Przykład:
<PropertyGroup>
<!-- Use the latest platform version instead of the oldest -->
<UseFloatingTargetPlatformVersion>true</UseFloatingTargetPlatformVersion>
</PropertyGroup>
Ustawienie domyślne: false (użyj najstarszej wersji platformy dla projektów biblioteki na platformie .NET 10+).
Ta właściwość dotyczy tylko projektów biblioteki (OutputType=Library), które nie są rozszerzeniami aplikacji i nie określiły jawnej wersji platformy docelowej (wersja platformy docelowej jest opcjonalnym numerem wersji na końcu TargetFramework właściwości, na przykład TargetFramework net10.0-ios26.0 wersja platformy docelowej jest jawnie 26.0).
Ta właściwość została wprowadzona na platformie .NET 10.
UseHardenedRuntime
Właściwość logiczna określająca, czy jest włączone środowisko uruchomieniowe ze wzmocnionymi zabezpieczeniami.
Dotyczy projektów macOS i Mac Catalyst.
Użyj interpretera
Włącza interpretera (dla wszystkich zestawów).
Jest to odpowiednik ustawienia MtouchInterpreter=all.
Dotyczy aplikacji dla systemów iOS, tvOS i Mac Catalyst (kiedy nie używa się funkcji NativeAOT).
Domyślne zachowanie polega na tym, że interpreter nie jest włączony.
Uwaga / Notatka
Domyślne ustawienie dla konfiguracji UseInterpreter=true jest zmieniane przez program MAUI na "Debug".
Aby uzyskać więcej informacji, zobacz MtouchInterpreter .
UseNativeHttpHandler
Określa, czy natywna procedura obsługi http powinna być domyślną procedurą obsługi http, czy też nie.
Wartość domyślna: true dla wszystkich platform z wyjątkiem systemu macOS.
WalidacjaUprawnień
Określ, czy należy zweryfikować uprawnienia żądań aplikacji.
Prawidłowe wartości dla tej właściwości:
-
disable: Walidacja jest wyłączona. -
warn: wszelkie błędy weryfikacji są wyświetlane jako ostrzeżenia. -
error: wszelkie błędy weryfikacji są wyświetlane jako błędy. Jest to wartość domyślna.
Proces weryfikacji może nie weryfikować każdego uprawnienia ani nie ma gwarancji, że nie jest zbytnio entuzjastyczny.
Jeśli walidacja nie powiedzie się w przypadku uprawnień, które rzeczywiście działają, zgłoś nowy problem.
ValidateXcodeVersion
Określ, czy ma zostać zweryfikowana bieżąca wersja programu Xcode.
Wartością domyślną jest "weryfikuj"; aby wyłączyć, ustaw na false.
Uwaga / Notatka
Użycie innej niż zalecana wersja może powodować problemy w dalszej części procesu kompilacji.
XamMacResourcePrefix
Katalog, w którym są przechowywane zasoby (ten prefiks zostanie usunięty podczas kopiowania zasobów do pakietu aplikacji).
Dotyczy projektów systemu macOS.
Rozważ użycie ujednoliconej właściwości AppBundleResourcePrefix .
Zobacz również IPhoneResourcePrefix i MonoMacResourcePrefix.
ZipPath
Pełna ścieżka do zip narzędzia wiersza polecenia.
Domyślnym zachowaniem jest użycie elementu xcrun zip.