/ src / modules / cmdpal / ext / SamplePagesExtension / SamplePagesExtension.csproj
SamplePagesExtension.csproj
 1  <Project Sdk="Microsoft.NET.Sdk">
 2    <Import Project="$(RepoRoot)src\Common.Dotnet.CsWinRT.props" />
 3    <Import Project="$(RepoRoot)src\Common.Dotnet.AotCompatibility.props" />
 4    <PropertyGroup>
 5      <OutputType>WinExe</OutputType>
 6      <RootNamespace>SamplePagesExtension</RootNamespace>
 7      <ApplicationManifest>app.manifest</ApplicationManifest>
 8      <PublishProfile>win-$(Platform).pubxml</PublishProfile>
 9      <UseWinUI>false</UseWinUI>
10      <EnableMsixTooling>true</EnableMsixTooling>
11      <OutputPath>$(SolutionDir)$(Platform)\$(Configuration)\WinUI3Apps\CmdPalExtensions\$(RootNamespace)</OutputPath>
12      <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
13      <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
14      <GenerateAppxPackageOnBuild>true</GenerateAppxPackageOnBuild>
15    </PropertyGroup>
16  
17    <ItemGroup>
18      <Content Include="Assets\SplashScreen.scale-200.png" />
19      <Content Include="Assets\LockScreenLogo.scale-200.png" />
20      <Content Include="Assets\Square150x150Logo.scale-200.png" />
21      <Content Include="Assets\Square44x44Logo.scale-200.png" />
22      <Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
23      <Content Include="Assets\StoreLogo.png" />
24      <Content Include="Assets\Wide310x150Logo.scale-200.png" />
25    </ItemGroup>
26  
27    <ItemGroup>
28      <Manifest Include="$(ApplicationManifest)" />
29    </ItemGroup>
30  
31  
32    <ItemGroup>
33      <ProjectReference Include="..\..\extensionsdk\Microsoft.CommandPalette.Extensions.Toolkit\Microsoft.CommandPalette.Extensions.Toolkit.csproj" />
34    </ItemGroup>
35  
36    <ItemGroup>
37      <PackageReference Include="Microsoft.WindowsAppSDK" />
38      <PackageReference Include="Microsoft.Windows.CsWin32">
39        <PrivateAssets>all</PrivateAssets>
40        <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
41      </PackageReference>
42    </ItemGroup>
43    <!--
44      Defining the "Msix" ProjectCapability here allows the Single-project MSIX Packaging
45      Tools extension to be activated for this project even if the Windows App SDK Nuget
46      package has not yet been restored.
47    -->
48    <ItemGroup Condition="'$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
49      <ProjectCapability Include="Msix" />
50    </ItemGroup>
51    <ItemGroup>
52      <Folder Include="Commands\" />
53      <Folder Include="Data\" />
54    </ItemGroup>
55  
56    <!--
57      Defining the "HasPackageAndPublishMenuAddedByProject" property here allows the Solution
58      Explorer "Package and Publish" context menu entry to be enabled for this project even if
59      the Windows App SDK Nuget package has not yet been restored.
60    -->
61    <PropertyGroup Condition="'$(DisableHasPackageAndPublishMenuAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
62      <HasPackageAndPublishMenu>true</HasPackageAndPublishMenu>
63    </PropertyGroup>
64  
65    <!-- Only enable Native AOT for Release builds to avoid System.Private.CoreLib.dll version conflicts during development -->
66    <PropertyGroup Condition="'$(Configuration)' == 'Release'">
67      <PublishTrimmed>true</PublishTrimmed>
68      <PublishSingleFile>true</PublishSingleFile>
69      <PublishAot>true</PublishAot>
70    </PropertyGroup>
71  
72    <!-- For Debug builds, use standard JIT compilation -->
73    <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
74      <PublishTrimmed>false</PublishTrimmed>
75      <PublishSingleFile>false</PublishSingleFile>
76      <PublishAot>false</PublishAot>
77    </PropertyGroup>
78  
79  </Project>