mirror of
https://github.com/PrismLibrary/Prism.git
synced 2026-10-29 05:26:34 +08:00
73 lines
3.8 KiB
XML
73 lines
3.8 KiB
XML
<Project Sdk="Uno.Sdk">
|
|
<PropertyGroup>
|
|
<!--
|
|
net*-windows10*: overlapping Uno + Windows SDK default items (and duplicated WinUI imports) can produce
|
|
NETSDK1022 for PRIResource (e.g. Strings\en\Resources.resw) and Page (App-adjacent XAML). Pin WinAppSdk,
|
|
disable default PRI/Page for this TFM, and list the files explicitly below.
|
|
-->
|
|
<IsWinAppSdk Condition="$(TargetFramework.Contains('windows10'))">true</IsWinAppSdk>
|
|
<EnableDefaultPriItems Condition="$(TargetFramework.Contains('windows10'))">false</EnableDefaultPriItems>
|
|
<EnableDefaultPageItems Condition="$(TargetFramework.Contains('windows10'))">false</EnableDefaultPageItems>
|
|
|
|
<TargetFrameworks>$(PrismUnoSampleTargetFrameworks)</TargetFrameworks>
|
|
|
|
<OutputType>Exe</OutputType>
|
|
<UnoSingleProject>true</UnoSingleProject>
|
|
<GenerateLibraryLayout>true</GenerateLibraryLayout>
|
|
|
|
<ApplicationTitle>Prism Playground</ApplicationTitle>
|
|
<ApplicationId>com.prismlibrary.helloworld.unowinui</ApplicationId>
|
|
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
|
|
<ApplicationVersion>1</ApplicationVersion>
|
|
<ApplicationPublisher>Prism Library</ApplicationPublisher>
|
|
<Description>Prism for Uno — regions, dialogs, and modularity sample.</Description>
|
|
|
|
<UnoFeatures>
|
|
Material;
|
|
Hosting;
|
|
Toolkit;
|
|
Logging;
|
|
LoggingSerilog;
|
|
</UnoFeatures>
|
|
</PropertyGroup>
|
|
|
|
<!-- Opt in on the app only. Do not pass PublishAot as a global command-line property:
|
|
it would flow into referenced libraries. -->
|
|
<PropertyGroup Condition="'$(PrismNativeAotValidation)' == 'true' and ($([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios' or $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android')">
|
|
<PublishAot>true</PublishAot>
|
|
<DefineConstants>$(DefineConstants);PRISM_NATIVE_AOT_VALIDATION</DefineConstants>
|
|
<UseInterpreter>false</UseInterpreter>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup Condition="$(TargetFramework.Contains('windows10'))">
|
|
<ApplicationDefinition Include="App.xaml" />
|
|
<Page Include="Views\Shell.xaml" />
|
|
<Page Include="Views\BindingLabPage.xaml" />
|
|
<Page Include="Styles\ColorPaletteOverride.xaml" />
|
|
<PRIResource Include="Strings\en\Resources.resw" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\..\src\Prism.Core\Prism.Core.csproj" />
|
|
<ProjectReference Include="..\..\..\src\Uno\Prism.DryIoc.Uno\Prism.DryIoc.Uno.WinUI.csproj" Condition="'$(PrismNativeAotValidation)' != 'true'" />
|
|
<ProjectReference Include="..\..\..\src\Uno\Prism.Uno\Prism.Uno.WinUI.csproj" Condition="'$(PrismNativeAotValidation)' == 'true'" />
|
|
<ProjectReference Include="..\Playground.Module\Playground.Module.csproj" />
|
|
</ItemGroup>
|
|
<ItemGroup Condition="'$(PrismNativeAotValidation)' == 'true' and '$(PrismNativeAotContainerVersion)' != ''">
|
|
<PackageReference Include="Prism.Container.Microsoft" VersionOverride="$(PrismNativeAotContainerVersion)" />
|
|
</ItemGroup>
|
|
|
|
<Target Name="ValidateNativeAotConfiguration" BeforeTargets="CollectPackageReferences;PrepareForBuild"
|
|
Condition="'$(PrismNativeAotValidation)' == 'true'">
|
|
<Error Condition="'$(PrismNativeAotContainerVersion)' == ''"
|
|
Text="NativeAOT validation requires matching real Prism.Container.Microsoft and Prism.Container.Abstractions packages. Use the centrally pinned version or set PrismNativeAotContainerVersion to an explicit local build." />
|
|
</Target>
|
|
|
|
<Target Name="ValidateNativeAotBuild" BeforeTargets="PrepareForBuild"
|
|
Condition="'$(PrismNativeAotValidation)' == 'true'">
|
|
<Error Condition="'$(Configuration)' != 'Release' or '$(PublishAot)' != 'true'"
|
|
Text="PrismNativeAotValidation requires Release and an Android or iOS target framework." />
|
|
</Target>
|
|
|
|
</Project>
|