Skip to content

Commit 474c1a5

Browse files
Merge branch 'master' into Smoke-test-Scripts
2 parents 6e90293 + e0966b1 commit 474c1a5

9 files changed

+220
-113
lines changed

Directory.Build.targets

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
<Project>
22

33
<PropertyGroup>
4-
<UseUWP Condition="'$(TargetFramework)' == 'uap10.0' or '$(TargetFramework)' == 'uap10.0.17763' or '$(TargetFramework)' == 'native' or '$(TargetFramework)' == 'net461'">true</UseUWP>
4+
<UseUWP Condition="$(TargetFramework.Contains(`uap10.0`)) or '$(TargetFramework)' == 'net461'">true</UseUWP>
55
</PropertyGroup>
66

77
<Choose>
8-
<When Condition="!$(TargetFramework.Contains(`uap10.0`)) and '$(TargetFramework)' != 'native' and '$(IsSampleProject)' != 'true'">
8+
<!--We'll include signing the Notifications library since we need the DLL signature to match for interop from class libraries to main projects-->
9+
<When Condition="(!$(TargetFramework.Contains(`uap10.0`)) and '$(TargetFramework)' != 'native' and '$(IsSampleProject)' != 'true') or $(MSBuildProjectName) == 'Microsoft.Toolkit.Uwp.Notifications'">
910
<PropertyGroup>
1011
<SignAssembly>true</SignAssembly>
1112
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)toolkit.snk</AssemblyOriginatorKeyFile>
1213
</PropertyGroup>
1314
</When>
1415
</Choose>
15-
16-
<Import Project="$(MSBuildThisFileDirectory)build\Windows.Toolkit.Uwp.Build.targets" Condition="'$(UseUWP)' == 'true'"/>
16+
17+
<!--Exclude Notifications project from this since it sets different min versions than what we want for notifications-->
18+
<Import Project="$(MSBuildThisFileDirectory)build\Windows.Toolkit.Uwp.Build.targets" Condition="'$(UseUWP)' == 'true' and $(MSBuildProjectName) != 'Microsoft.Toolkit.Uwp.Notifications'"/>
1719

1820
<Target Name="AddCommitHashToAssemblyAttributes" BeforeTargets="GetAssemblyAttributes">
1921
<ItemGroup>
Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,10 @@
11
<Project Sdk="MSBuild.Sdk.Extras">
22

33
<PropertyGroup>
4-
<!--<TargetFrameworks>netstandard1.4;uap10.0;native;net461;netcoreapp3.1</TargetFrameworks>-->
5-
<!-- Removed 'native' target to unblock CI on VS 16.8, tied to changes breaking workaround for https://github.com/NuGet/Home/issues/5154 -->
6-
<TargetFrameworks>netstandard1.4;uap10.0;net461;netcoreapp3.1</TargetFrameworks>
4+
<TargetFrameworks>netstandard1.4;uap10.0.19041;net461;netcoreapp3.1;net5.0;net5.0-windows10.0.17763.0;native</TargetFrameworks>
75
<DefineConstants>$(DefineConstants);NETFX_CORE</DefineConstants>
8-
<Title>Windows Community Toolkit Notifications</Title>
9-
<Description>
10-
Generate tile, toast, and badge notifications for Windows 10 via code, with the help of IntelliSense.
11-
Adds Support for adaptive tiles and adaptive/interactive toasts for Windows 10. It is part of the Windows Community Toolkit.
12-
Supports C# and C++ UWP project types.
13-
Also works with C# portable class libraries and non-UWP C# projects like server projects.
14-
This project contains outputs for netstandard1.4, uap10.0 and native for WinRT.
15-
</Description>
16-
<PackageTags>notifications win10 windows 10 tile tiles toast toasts badge xml uwp c# csharp c++</PackageTags>
176
<ExtrasImplicitPlatformPackageIsPrivate Condition=" '$(TargetFramework)' == 'native' ">true</ExtrasImplicitPlatformPackageIsPrivate>
18-
<DefaultTargetPlatformMinVersion>10240</DefaultTargetPlatformMinVersion>
19-
<TargetPlatformMinVersion>10.0.10240.0</TargetPlatformMinVersion>
7+
<NuspecFile>Microsoft.Toolkit.Uwp.Notifications.nuspec</NuspecFile>
208
</PropertyGroup>
219

2210
<Choose>
@@ -27,16 +15,17 @@
2715
<!--Reference Windows SDK NuGet of correct target platform version-->
2816
<PackageReference Include="Microsoft.Windows.SDK.Contracts" Version="10.0.19041.1" />
2917
</ItemGroup>
30-
<PropertyGroup>
31-
<!--Define the WINDOWS_UWP conditional symbol, since the Windows.Data.Xml and the Windows.UI.Notification namespaces are available-->
32-
<DefineConstants>$(DefineConstants);WINDOWS_UWP;WIN32</DefineConstants>
33-
</PropertyGroup>
3418
</When>
3519

3620
</Choose>
21+
22+
<PropertyGroup Condition="'$(TargetFramework)'=='net461' or '$(TargetFramework)'=='netcoreapp3.1' or '$(TargetFramework)'=='net5.0-windows10.0.17763.0'">
23+
<!--Define the WINDOWS_UWP conditional symbol, since the Windows.Data.Xml and the Windows.UI.Notification namespaces are available-->
24+
<DefineConstants>$(DefineConstants);WINDOWS_UWP;WIN32</DefineConstants>
25+
</PropertyGroup>
3726

3827
<!--NET Core desktop apps also need the Registry NuGet package and System.Reflection.Emit for generating COM class dynamically-->
39-
<ItemGroup Condition="'$(TargetFramework)'=='netcoreapp3.1'">
28+
<ItemGroup Condition="'$(TargetFramework)'=='netcoreapp3.1' or '$(TargetFramework)'=='net5.0-windows10.0.17763.0'">
4029
<PackageReference Include="Microsoft.Win32.Registry" Version="4.7.0" />
4130
<PackageReference Include="System.Reflection.Emit" Version="4.7.0" />
4231
<PackageReference Include="System.Drawing.Common" Version="4.7.0" />
@@ -54,6 +43,12 @@
5443
<ItemGroup Condition=" '$(TargetFramework)' != 'native' ">
5544
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
5645
</ItemGroup>
46+
47+
<PropertyGroup Condition="'$(TargetFramework)' == 'uap10.0.19041'">
48+
<TargetPlatformVersion>10.0.19041.0</TargetPlatformVersion>
49+
<DefaultTargetPlatformMinVersion>16299</DefaultTargetPlatformMinVersion>
50+
<TargetPlatformMinVersion>10.0.16299.0</TargetPlatformMinVersion>
51+
</PropertyGroup>
5752

5853
<PropertyGroup Condition="'$(TargetFramework)' == 'native'">
5954
<OutputType>winmdobj</OutputType>
@@ -63,8 +58,9 @@
6358
<NugetTargetMoniker Condition="'$(DesignTimeBuild)' == 'true'">native</NugetTargetMoniker>
6459
<NugetTargetMoniker Condition="'$(DesignTimeBuild)' != 'true'">UAP,Version=v10.0</NugetTargetMoniker>
6560
<PackageTargetFallback>uap10.0</PackageTargetFallback>
66-
<TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == '' ">10.0.19041.0</TargetPlatformVersion>
67-
<TargetPlatformMinVersion Condition="'$(TargetPlatformMinVersion)' == '' ">10.0.10240.0</TargetPlatformMinVersion>
61+
<TargetPlatformVersion>10.0.19041.0</TargetPlatformVersion>
62+
<DefaultTargetPlatformMinVersion>10240</DefaultTargetPlatformMinVersion>
63+
<TargetPlatformMinVersion>10.0.10240.0</TargetPlatformMinVersion>
6864
<DefineConstants Condition="'$(DisableImplicitFrameworkDefines)' != 'true'">$(DefineConstants);NETFX_CORE;WINDOWS_UWP;WINRT</DefineConstants>
6965
<CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == ''">false</CopyLocalLockFileAssemblies>
7066
<TargetFrameworkIdentifier>.NETCore</TargetFrameworkIdentifier>
@@ -76,5 +72,12 @@
7672
<ImplicitFrameworkDefine Condition="'$(DisableImplicitFrameworkDefines)' != 'true'">UAP$(TargetPlatformMinVersion.Replace('.', '_'))</ImplicitFrameworkDefine>
7773
<DisableImplicitFrameworkDefines Condition="'$(DisableImplicitFrameworkDefines)' != 'true'">true</DisableImplicitFrameworkDefines>
7874
</PropertyGroup>
75+
76+
<!--Set the nuspec properties. Dependent on version which isn't updated till after GetBuildVersion. Condition ensures we only set once since this runs multiple times for each target.-->
77+
<Target Name="SetNuspecProperties" AfterTargets="GetBuildVersion">
78+
<PropertyGroup Condition="'$(NuspecProperties)' == ''">
79+
<NuspecProperties>buildOutput=bin\$(Configuration);version=$(Version)</NuspecProperties>
80+
</PropertyGroup>
81+
</Target>
7982

8083
</Project>
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
3+
<metadata>
4+
<id>Microsoft.Toolkit.Uwp.Notifications</id>
5+
<version>$version$</version>
6+
<title>Windows Community Toolkit Notifications</title>
7+
<authors>Microsoft.Toolkit,dotnetfoundation</authors>
8+
<requireLicenseAcceptance>true</requireLicenseAcceptance>
9+
<licenseUrl>https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/master/license.md</licenseUrl>
10+
<projectUrl>https://github.com/windows-toolkit/WindowsCommunityToolkit</projectUrl>
11+
<iconUrl>https://raw.githubusercontent.com/windows-toolkit/WindowsCommunityToolkit/master/build/nuget.png</iconUrl>
12+
<description>The official way to send toast notifications on Windows 10 via code rather than XML, with the help of IntelliSense. Supports all C# app types, including WPF, UWP, WinForms, and Console, even without packaging your app as MSIX. Also supports C++ UWP apps.
13+
14+
Additionally, generate notification payloads from your ASP.NET web server to send as push notifications, or generate notification payloads from class libraries.
15+
16+
For UWP/MSIX apps, you can also generate tile and badge notifications.</description>
17+
<releaseNotes>https://github.com/windows-toolkit/WindowsCommunityToolkit/releases</releaseNotes>
18+
<copyright>(c) .NET Foundation and Contributors. All rights reserved.</copyright>
19+
<tags>notifications win10 windows 10 tile tiles toast toasts badge xml uwp c# csharp c++ wpf winforms</tags>
20+
<repository type="git" url="https://github.com/windows-toolkit/WindowsCommunityToolkit.git" commit="72205c9add7c3fc1ed63bb77e6fc101e39f1ac33" />
21+
<dependencies>
22+
<group targetFramework=".NETStandard1.4">
23+
<dependency id="NETStandard.Library" version="1.6.1" exclude="Build,Analyzers" />
24+
<dependency id="System.ValueTuple" version="4.5.0" exclude="Build,Analyzers" />
25+
</group>
26+
<group targetFramework="UAP10.0.16299">
27+
<dependency id="System.ValueTuple" version="4.5.0" exclude="Build,Analyzers" />
28+
</group>
29+
<group targetFramework=".NETCoreApp3.1">
30+
<dependency id="Microsoft.Win32.Registry" version="4.7.0" exclude="Build,Analyzers" />
31+
<dependency id="Microsoft.Windows.SDK.Contracts" version="10.0.19041.1" exclude="Build,Analyzers" />
32+
<dependency id="System.Drawing.Common" version="4.7.0" exclude="Build,Analyzers" />
33+
<dependency id="System.Reflection.Emit" version="4.7.0" exclude="Build,Analyzers" />
34+
<dependency id="System.ValueTuple" version="4.5.0" exclude="Build,Analyzers" />
35+
</group>
36+
<group targetFramework="net5.0">
37+
<dependency id="System.ValueTuple" version="4.5.0" exclude="Build,Analyzers" />
38+
</group>
39+
<group targetFramework="net5.0-windows10.0.17763">
40+
<dependency id="Microsoft.Win32.Registry" version="4.7.0" exclude="Build,Analyzers" />
41+
<dependency id="System.Drawing.Common" version="4.7.0" exclude="Build,Analyzers" />
42+
<dependency id="System.Reflection.Emit" version="4.7.0" exclude="Build,Analyzers" />
43+
<dependency id="System.ValueTuple" version="4.5.0" exclude="Build,Analyzers" />
44+
</group>
45+
<group targetFramework=".NETFramework4.6.1">
46+
<dependency id="Microsoft.NETFramework.ReferenceAssemblies" version="1.0.0" exclude="Build,Analyzers" />
47+
<dependency id="Microsoft.Windows.SDK.Contracts" version="10.0.19041.1" exclude="Build,Analyzers" />
48+
<dependency id="System.ValueTuple" version="4.5.0" exclude="Build,Analyzers" />
49+
</group>
50+
<group targetFramework="native0.0" />
51+
<group targetFramework="UAP10.0.10240" />
52+
</dependencies>
53+
</metadata>
54+
<files>
55+
<file src="Microsoft.Toolkit.Uwp.Notifications.targets" target="build\native\Microsoft.Toolkit.Uwp.Notifications.targets" />
56+
<file src="$buildOutput$\net461\Microsoft.Toolkit.Uwp.Notifications.dll" target="lib\net461\Microsoft.Toolkit.Uwp.Notifications.dll" />
57+
<file src="$buildOutput$\net461\Microsoft.Toolkit.Uwp.Notifications.pdb" target="lib\net461\Microsoft.Toolkit.Uwp.Notifications.pdb" />
58+
<file src="$buildOutput$\net461\Microsoft.Toolkit.Uwp.Notifications.xml" target="lib\net461\Microsoft.Toolkit.Uwp.Notifications.xml" />
59+
<file src="$buildOutput$\net5.0\Microsoft.Toolkit.Uwp.Notifications.dll" target="lib\net5.0\Microsoft.Toolkit.Uwp.Notifications.dll" />
60+
<file src="$buildOutput$\net5.0\Microsoft.Toolkit.Uwp.Notifications.pdb" target="lib\net5.0\Microsoft.Toolkit.Uwp.Notifications.pdb" />
61+
<file src="$buildOutput$\net5.0\Microsoft.Toolkit.Uwp.Notifications.xml" target="lib\net5.0\Microsoft.Toolkit.Uwp.Notifications.xml" />
62+
<file src="$buildOutput$\net5.0-windows10.0.17763.0\Microsoft.Toolkit.Uwp.Notifications.dll" target="lib\net5.0-windows10.0.17763\Microsoft.Toolkit.Uwp.Notifications.dll" />
63+
<file src="$buildOutput$\net5.0-windows10.0.17763.0\Microsoft.Toolkit.Uwp.Notifications.pdb" target="lib\net5.0-windows10.0.17763\Microsoft.Toolkit.Uwp.Notifications.pdb" />
64+
<file src="$buildOutput$\net5.0-windows10.0.17763.0\Microsoft.Toolkit.Uwp.Notifications.xml" target="lib\net5.0-windows10.0.17763\Microsoft.Toolkit.Uwp.Notifications.xml" />
65+
<file src="$buildOutput$\netcoreapp3.1\Microsoft.Toolkit.Uwp.Notifications.dll" target="lib\netcoreapp3.1\Microsoft.Toolkit.Uwp.Notifications.dll" />
66+
<file src="$buildOutput$\netcoreapp3.1\Microsoft.Toolkit.Uwp.Notifications.pdb" target="lib\netcoreapp3.1\Microsoft.Toolkit.Uwp.Notifications.pdb" />
67+
<file src="$buildOutput$\netcoreapp3.1\Microsoft.Toolkit.Uwp.Notifications.xml" target="lib\netcoreapp3.1\Microsoft.Toolkit.Uwp.Notifications.xml" />
68+
<file src="$buildOutput$\netstandard1.4\Microsoft.Toolkit.Uwp.Notifications.dll" target="lib\netstandard1.4\Microsoft.Toolkit.Uwp.Notifications.dll" />
69+
<file src="$buildOutput$\netstandard1.4\Microsoft.Toolkit.Uwp.Notifications.pdb" target="lib\netstandard1.4\Microsoft.Toolkit.Uwp.Notifications.pdb" />
70+
<file src="$buildOutput$\netstandard1.4\Microsoft.Toolkit.Uwp.Notifications.xml" target="lib\netstandard1.4\Microsoft.Toolkit.Uwp.Notifications.xml" />
71+
<file src="$buildOutput$\uap10.0.19041\Microsoft.Toolkit.Uwp.Notifications.dll" target="lib\uap10.0.16299\Microsoft.Toolkit.Uwp.Notifications.dll" />
72+
<file src="$buildOutput$\uap10.0.19041\Microsoft.Toolkit.Uwp.Notifications.pdb" target="lib\uap10.0.16299\Microsoft.Toolkit.Uwp.Notifications.pdb" />
73+
<file src="$buildOutput$\uap10.0.19041\Microsoft.Toolkit.Uwp.Notifications.pri" target="lib\uap10.0.16299\Microsoft.Toolkit.Uwp.Notifications.pri" />
74+
<file src="$buildOutput$\uap10.0.19041\Microsoft.Toolkit.Uwp.Notifications.xml" target="lib\uap10.0.16299\Microsoft.Toolkit.Uwp.Notifications.xml" />
75+
<file src="$buildOutput$\native\Microsoft.Toolkit.Uwp.Notifications.pdb" target="lib\native\Microsoft.Toolkit.Uwp.Notifications.pdb" />
76+
<file src="$buildOutput$\native\Microsoft.Toolkit.Uwp.Notifications.pri" target="lib\native\Microsoft.Toolkit.Uwp.Notifications.pri" />
77+
<file src="$buildOutput$\native\Microsoft.Toolkit.Uwp.Notifications.winmd" target="lib\native\Microsoft.Toolkit.Uwp.Notifications.winmd" />
78+
<file src="$buildOutput$\native\Microsoft.Toolkit.Uwp.Notifications.xml" target="lib\native\Microsoft.Toolkit.Uwp.Notifications.xml" />
79+
<file src="$buildOutput$\native\Microsoft.Toolkit.Uwp.Notifications.pdb" target="lib\uap10.0.10240\Microsoft.Toolkit.Uwp.Notifications.pdb" />
80+
<file src="$buildOutput$\native\Microsoft.Toolkit.Uwp.Notifications.pri" target="lib\uap10.0.10240\Microsoft.Toolkit.Uwp.Notifications.pri" />
81+
<file src="$buildOutput$\native\Microsoft.Toolkit.Uwp.Notifications.winmd" target="lib\uap10.0.10240\Microsoft.Toolkit.Uwp.Notifications.winmd" />
82+
<file src="$buildOutput$\native\Microsoft.Toolkit.Uwp.Notifications.xml" target="lib\uap10.0.10240\Microsoft.Toolkit.Uwp.Notifications.xml" />
83+
</files>
84+
</package>

Microsoft.Toolkit.Uwp.Notifications/Toasts/Compat/Desktop/DesktopBridgeHelpers.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@ internal class DesktopBridgeHelpers
2020
{
2121
private const long APPMODEL_ERROR_NO_PACKAGE = 15700L;
2222

23-
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
24-
private static extern int GetCurrentPackageFullName(ref int packageFullNameLength, StringBuilder packageFullName);
25-
2623
private static bool? _hasIdentity;
2724

2825
public static bool HasIdentity()
@@ -37,10 +34,10 @@ public static bool HasIdentity()
3734
{
3835
int length = 0;
3936
var sb = new StringBuilder(0);
40-
GetCurrentPackageFullName(ref length, sb);
37+
NativeMethods.GetCurrentPackageFullName(ref length, sb);
4138

4239
sb = new StringBuilder(length);
43-
int error = GetCurrentPackageFullName(ref length, sb);
40+
int error = NativeMethods.GetCurrentPackageFullName(ref length, sb);
4441

4542
_hasIdentity = error != APPMODEL_ERROR_NO_PACKAGE;
4643
}

0 commit comments

Comments
 (0)