Skip to content

Commit 4c8f61e

Browse files
committed
Merge branch 'main' into winui
# Conflicts: # CommunityToolkit.WinUI.Notifications/ReadMe.md # CommunityToolkit.WinUI.Notifications/readme.md # CommunityToolkit.WinUI.UI.Controls.Core.Design/Common/MetadataRegistration.cs # CommunityToolkit.WinUI.UI.Controls.Core.Design/CommunityToolkit.WinUI.UI.Controls.Core.DesignTools.csproj # CommunityToolkit.WinUI.UI.Controls.Core.Design/MetadataRegistration.cs # CommunityToolkit.WinUI.UI.Controls.Core.Design/Properties/AssemblyInfo.cs # CommunityToolkit.WinUI.UI.Controls.DataGrid.Design/CommunityToolkit.WinUI.UI.Controls.DataGrid.DesignTools.csproj # CommunityToolkit.WinUI.UI.Controls.DataGrid.Design/Properties/AssemblyInfo.cs # CommunityToolkit.WinUI.UI.Controls.Input.Design/CommunityToolkit.WinUI.UI.Controls.Input.DesignTools.csproj # CommunityToolkit.WinUI.UI.Controls.Input.Design/Properties/AssemblyInfo.cs # CommunityToolkit.WinUI.UI.Controls.Layout.Design/CommunityToolkit.WinUI.UI.Controls.Layout.DesignTools.csproj # CommunityToolkit.WinUI.UI.Controls.Layout.Design/Properties/AssemblyInfo.cs # CommunityToolkit.WinUI.UI.Controls.Markdown.Design/CommunityToolkit.WinUI.UI.Controls.Markdown.DesignTools.csproj # CommunityToolkit.WinUI.UI.Controls.Markdown.Design/Properties/AssemblyInfo.cs # CommunityToolkit.WinUI.UI.Controls.Media/CommunityToolkit.WinUI.UI.Controls.Media.csproj # CommunityToolkit.WinUI.UI.Controls.Primitives.Design/CommunityToolkit.WinUI.UI.Controls.Primitives.DesignTools.csproj # CommunityToolkit.WinUI.UI.Controls.Primitives.Design/Properties/AssemblyInfo.cs # Microsoft.Toolkit.Mvvm.SourceGenerators/AnalyzerReleases.Unshipped.md # Microsoft.Toolkit.Uwp.Notifications/readme.md # Microsoft.Toolkit.Uwp.UI.Controls.Core.Design/MetadataRegistration.cs # Windows Community Toolkit.sln
2 parents 8454c8f + 8d7f8c2 commit 4c8f61e

File tree

30 files changed

+744
-1045
lines changed

30 files changed

+744
-1045
lines changed

CommunityToolkit.Mvvm.SourceGenerators/AnalyzerReleases.Unshipped.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; Unshipped analyzer release
1+
; Unshipped analyzer release
22
; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md
33

44
### New Rules
@@ -17,3 +17,4 @@ MVVMTK0009 | CommunityToolkit.Mvvm.SourceGenerators.ObservablePropertyGenerator
1717
MVVMTK0010 | CommunityToolkit.Mvvm.SourceGenerators.ObservablePropertyGenerator | Error | See https://aka.ms/mvvmtoolkit/error
1818
MVVMTK0011 | CommunityToolkit.Mvvm.SourceGenerators.ObservablePropertyGenerator | Error | See https://aka.ms/mvvmtoolkit/error
1919
MVVMTK0012 | CommunityToolkit.Mvvm.SourceGenerators.ICommandGenerator | Error | See https://aka.ms/mvvmtoolkit/error
20+
MVVMTK0013 | Microsoft.CodeAnalysis.CSharp.CSharpParseOptions | Error | See https://aka.ms/mvvmtoolkit/error

CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/ObservablePropertyGenerator.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@ public void Execute(GeneratorExecutionContext context)
4141
return;
4242
}
4343

44+
// Validate the language version. Note that we're emitting this diagnostic in each generator (excluding the one
45+
// only emitting the nullability annotation attributes if missing) so that the diagnostic is emitted only when
46+
// users are using one of these generators, and not by default as soon as they add a reference to the MVVM Toolkit.
47+
// This ensures that users not using any of the source generators won't be broken when upgrading to this new version.
48+
if (context.ParseOptions is not CSharpParseOptions { LanguageVersion: >= LanguageVersion.CSharp9 })
49+
{
50+
context.ReportDiagnostic(Diagnostic.Create(UnsupportedCSharpLanguageVersionError, null));
51+
}
52+
4453
// Sets of discovered property names
4554
HashSet<string>
4655
propertyChangedNames = new(),

CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/ObservableValidatorValidateAllPropertiesGenerator.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
using Microsoft.CodeAnalysis.CSharp;
1414
using Microsoft.CodeAnalysis.CSharp.Syntax;
1515
using Microsoft.CodeAnalysis.Text;
16+
using static CommunityToolkit.Mvvm.SourceGenerators.Diagnostics.DiagnosticDescriptors;
1617
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
1718

1819
namespace CommunityToolkit.Mvvm.SourceGenerators
@@ -39,6 +40,12 @@ public void Execute(GeneratorExecutionContext context)
3940
return;
4041
}
4142

43+
// Validate the language version
44+
if (context.ParseOptions is not CSharpParseOptions { LanguageVersion: >= LanguageVersion.CSharp9 })
45+
{
46+
context.ReportDiagnostic(Diagnostic.Create(UnsupportedCSharpLanguageVersionError, null));
47+
}
48+
4249
// Get the symbol for the ValidationAttribute type
4350
INamedTypeSymbol validationSymbol = context.Compilation.GetTypeByMetadataName("System.ComponentModel.DataAnnotations.ValidationAttribute")!;
4451

CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/TransitiveMembersGenerator.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
using Microsoft.CodeAnalysis.CSharp;
1717
using Microsoft.CodeAnalysis.CSharp.Syntax;
1818
using Microsoft.CodeAnalysis.Text;
19+
using static CommunityToolkit.Mvvm.SourceGenerators.Diagnostics.DiagnosticDescriptors;
1920
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
2021
using static Microsoft.CodeAnalysis.SymbolDisplayTypeQualificationStyle;
2122

@@ -67,6 +68,12 @@ public void Execute(GeneratorExecutionContext context)
6768
return;
6869
}
6970

71+
// Validate the language version
72+
if (context.ParseOptions is not CSharpParseOptions { LanguageVersion: >= LanguageVersion.CSharp9 })
73+
{
74+
context.ReportDiagnostic(Diagnostic.Create(UnsupportedCSharpLanguageVersionError, null));
75+
}
76+
7077
// Load the syntax tree with the members to generate
7178
SyntaxTree sourceSyntaxTree = LoadSourceSyntaxTree();
7279

CommunityToolkit.Mvvm.SourceGenerators/Diagnostics/DiagnosticDescriptors.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
using System.ComponentModel;
66
using Microsoft.CodeAnalysis;
7+
using Microsoft.CodeAnalysis.CSharp;
78

89
namespace CommunityToolkit.Mvvm.SourceGenerators.Diagnostics
910
{
@@ -201,7 +202,23 @@ internal static class DiagnosticDescriptors
201202
category: typeof(ICommandGenerator).FullName,
202203
defaultSeverity: DiagnosticSeverity.Error,
203204
isEnabledByDefault: true,
204-
description: $"Cannot apply [ICommand] to methods with a signature that doesn't match any of the existing relay command types.",
205+
description: "Cannot apply [ICommand] to methods with a signature that doesn't match any of the existing relay command types.",
206+
helpLinkUri: "https://aka.ms/mvvmtoolkit");
207+
208+
/// <summary>
209+
/// Gets a <see cref="DiagnosticDescriptor"/> indicating when an unsupported C# language version is being used.
210+
/// <para>
211+
/// Format: <c>"The method {0}.{1} cannot be used to generate a command property, as its signature isn't compatible with any of the existing relay command types"</c>.
212+
/// </para>
213+
/// </summary>
214+
public static readonly DiagnosticDescriptor UnsupportedCSharpLanguageVersionError = new(
215+
id: "MVVMTK0013",
216+
title: "Unsupported C# language version",
217+
messageFormat: "The source generator features from the MVVM Toolkit require consuming projects to set the C# language version to at least C# 9.0",
218+
category: typeof(CSharpParseOptions).FullName,
219+
defaultSeverity: DiagnosticSeverity.Error,
220+
isEnabledByDefault: true,
221+
description: "The source generator features from the MVVM Toolkit require consuming projects to set the C# language version to at least C# 9.0. Make sure to add <LangVersion>9.0</LangVersion> (or above) to your .csproj file.",
205222
helpLinkUri: "https://aka.ms/mvvmtoolkit");
206223
}
207224
}

CommunityToolkit.Mvvm.SourceGenerators/Input/ICommandGenerator.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ public void Execute(GeneratorExecutionContext context)
4343
return;
4444
}
4545

46+
// Validate the language version
47+
if (context.ParseOptions is not CSharpParseOptions { LanguageVersion: >= LanguageVersion.CSharp9 })
48+
{
49+
context.ReportDiagnostic(Diagnostic.Create(UnsupportedCSharpLanguageVersionError, null));
50+
}
51+
4652
foreach (var items in syntaxReceiver.GatheredInfo.GroupBy<SyntaxReceiver.Item, INamedTypeSymbol>(static item => item.MethodSymbol.ContainingType, SymbolEqualityComparer.Default))
4753
{
4854
if (items.Key.DeclaringSyntaxReferences.Length > 0 &&

CommunityToolkit.Mvvm.SourceGenerators/Messaging/IMessengerRegisterAllGenerator.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using Microsoft.CodeAnalysis.CSharp;
1313
using Microsoft.CodeAnalysis.CSharp.Syntax;
1414
using Microsoft.CodeAnalysis.Text;
15+
using static CommunityToolkit.Mvvm.SourceGenerators.Diagnostics.DiagnosticDescriptors;
1516
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
1617

1718
namespace CommunityToolkit.Mvvm.SourceGenerators
@@ -38,6 +39,12 @@ public void Execute(GeneratorExecutionContext context)
3839
return;
3940
}
4041

42+
// Validate the language version
43+
if (context.ParseOptions is not CSharpParseOptions { LanguageVersion: >= LanguageVersion.CSharp9 })
44+
{
45+
context.ReportDiagnostic(Diagnostic.Create(UnsupportedCSharpLanguageVersionError, null));
46+
}
47+
4148
// Get the symbol for the IRecipient<T> interface type
4249
INamedTypeSymbol iRecipientSymbol = context.Compilation.GetTypeByMetadataName("CommunityToolkit.Mvvm.Messaging.IRecipient`1")!;
4350

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Welcome to the Notifications section of the toolkit! This contains the Notifications library, including the object model for tile, toast, and badge XML (previously called NotificationsExtensions).
2+
3+
## Where should I add new code?
4+
Any code for generating notifications should be written in the CommunityToolkit.WinUI.Notifications project.
5+
6+
If there's UWP-specific code, use the appropriate `#ifdef`, `WINDOWS_UWP` or `WINRT`.
7+
8+
## What are all the projects for?
9+
All the code is contained on the CommunityToolkit.WinUI.Notifications project.
10+
11+
It outputs `netstandard1.4`, `uap10.0`, `native` for WinRT, and netcoreapp for .Net Core projects. The UWP library is only for C#, while the WinRT library is a Windows Runtime Component for C++.
12+
13+
14+
| C# | C++ |
15+
| ---------------- | ------------------- |
16+
| NET Standard 1.4 | UWP WinRT Component |
17+
| UWP C# DLL | |
18+
| .Net Core DLL | |
19+
20+
21+
22+
## Scenarios we want to support
23+
24+
Imagine you add this library to a .NET Standard class library, and you also add it to your UWP app. In this case, your .NET Standard class library will receive the NETStandard dll. Your UWP project will receive the UWP dll.
25+
26+
## How are the test projects organized?
27+
28+
If you look in the UnitTests folder of the repo, you'll notice that there's three projects...
29+
- UnitTests.Notifications.Shared
30+
- UnitTests.Notifications.NetCore
31+
- UnitTests.Notifications.UWP
32+
- UnitTests.Notifications.WinRT
33+
34+
That's because in our source code, we have some #IF defs for switching between the different types of reflection that C# uses, since it's different between a .NET Standard and WinRT code.
35+
36+
Therefore, there are two different code paths, one path for NETFX_CORE, and another for when that isn't present. The two test projects exercise both code paths.

CommunityToolkit.WinUI.UI.Controls.Core.Design/MetadataRegistration.cs renamed to CommunityToolkit.WinUI.UI.Controls.Core.Design/Common/MetadataRegistration.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@ public MetadataRegistration() : base()
2020
// Note:
2121
// The default constructor sets value of 'AssemblyFullName' and
2222
// 'XmlResourceName' used by 'MetadataRegistrationBase.AddDescriptions()'.
23-
// The convention here is that the <RootNamespace> in '.DesignTools.csproj'
24-
// (or Default namespace in Project -> Properties -> Application tab)
25-
// must be the same as runtime assembly's main namespace plus ".Design".
23+
// The convention here is that the root namespace plus the Controls category.
24+
// Example:
25+
// <RootNamespace> + "." + <ControlsCategory> + ".xml"
26+
// "CommunityToolkit.WinUI.UI.Controls" + "." + "Primitives" + ".xml"
27+
2628
Type thisType = this.GetType();
2729
AssemblyName designLib = thisType.Assembly.GetName();
2830

@@ -31,7 +33,7 @@ public MetadataRegistration() : base()
3133
string controlLibName = designLib.Name.Remove(annexStart, annexString.Length);
3234

3335
AssemblyFullName = designLib.FullName;
34-
XmlResourceName = $"{thisType.Namespace}{controlLibName}.xml";
36+
XmlResourceName = $"{controlLibName}.xml";
3537
}
3638
}
3739
}
Lines changed: 10 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1,15 @@
1-
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2-
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
1+
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
2+
33
<PropertyGroup>
4-
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5-
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
6-
<ProjectGuid>{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}</ProjectGuid>
7-
<OutputType>Library</OutputType>
8-
<AppDesignerFolder>Properties</AppDesignerFolder>
9-
<RootNamespace>CommunityToolkit.WinUI.UI.Controls.Design</RootNamespace>
10-
<AssemblyName>CommunityToolkit.WinUI.UI.Controls.Core.DesignTools</AssemblyName>
11-
<FileAlignment>512</FileAlignment>
12-
<TargetPlatformVersion>8.1</TargetPlatformVersion>
13-
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
14-
<ValidateFrameworkCompatibility>false</ValidateFrameworkCompatibility>
15-
<TargetFrameworkProfile />
16-
<NoWarn>$(NoWarn);0618</NoWarn>
17-
<AssetTargetFallback>$(AssetTargetFallback);net5.0-windows10.0.18362.0</AssetTargetFallback>
18-
<!-- Workaround for WinUI3 bug -->
19-
<MsAppxPackageTargets>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)\..\EmptyMsAppxPackage.Targets'))</MsAppxPackageTargets>
20-
</PropertyGroup>
21-
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
22-
<DebugSymbols>true</DebugSymbols>
23-
<OutputPath>..\CommunityToolkit.WinUI.UI.Controls.Core\bin\Debug\net5.0-windows10.0.18362.0\Design\</OutputPath>
24-
<DebugType>full</DebugType>
25-
<Optimize>false</Optimize>
26-
<DefineConstants>TRACE;DEBUG</DefineConstants>
27-
<PlatformTarget>x86</PlatformTarget>
28-
</PropertyGroup>
29-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
30-
<OutputPath>..\CommunityToolkit.WinUI.UI.Controls.Core\bin\Release\net5.0-windows10.0.18362.0\Design\</OutputPath>
31-
<DebugType>pdbonly</DebugType>
32-
<PlatformTarget>x86</PlatformTarget>
33-
<Optimize>true</Optimize>
34-
<DefineConstants>TRACE</DefineConstants>
4+
<TargetFramework>net472</TargetFramework>
5+
<RootNamespace>CommunityToolkit.WinUI.UI.Controls</RootNamespace>
356
</PropertyGroup>
7+
368
<PropertyGroup>
37-
<NoWarn>$(NoWarn);0618</NoWarn>
38-
<AssetTargetFallback>$(AssetTargetFallback);uap10.0.17763</AssetTargetFallback>
9+
<AssemblyTitle>Windows Community Toolkit - Common Controls (DesignTools)</AssemblyTitle>
10+
<Description>Design time support for Windows Community Toolkit Common Controls</Description>
3911
</PropertyGroup>
40-
<ItemGroup>
41-
<Reference Include="System.Runtime" />
42-
<Reference Include="System.ObjectModel" />
43-
<Reference Include="System.Runtime.WindowsRuntime" />
44-
<Reference Include="System.Runtime.InteropServices.WindowsRuntime" />
45-
<Reference Include="Microsoft.VisualStudio.DesignTools.Extensibility">
46-
<SpecificVersion>False</SpecificVersion>
47-
<Private>False</Private>
48-
</Reference>
49-
<Reference Include="Microsoft.VisualStudio.DesignTools.Interaction">
50-
<SpecificVersion>False</SpecificVersion>
51-
<Private>False</Private>
52-
</Reference>
53-
<Reference Include="System" />
54-
<Reference Include="System.Core" />
55-
<Reference Include="System.Xml.Linq" />
56-
<Reference Include="System.Data.DataSetExtensions" />
57-
<Reference Include="Microsoft.CSharp" />
58-
<Reference Include="System.Data" />
59-
<Reference Include="System.Xml" />
60-
<Reference Include="Windows, Version=255.255.255.255, Culture=neutral, processorArchitecture=MSIL">
61-
<Private>False</Private>
62-
<SpecificVersion>False</SpecificVersion>
63-
<HintPath>$(MSBuildProgramFiles32)\Windows Kits\10\UnionMetadata\10.0.17763.0\Windows.winmd</HintPath>
64-
</Reference>
65-
<Reference Include="WindowsBase" />
66-
<Reference Include="PresentationCore" />
67-
<Reference Include="PresentationFramework" />
68-
</ItemGroup>
69-
<ItemGroup Label="WinRT References">
70-
<Reference Include="System.Xaml" />
71-
<Reference Include="System.Runtime.WindowsRuntime.UI.Xaml" />
72-
<Reference Include="Windows.Foundation.FoundationContract">
73-
<HintPath>$(MSBuildProgramFiles32)\Windows Kits\10\References\10.0.17763.0\Windows.Foundation.FoundationContract\3.0.0.0\Windows.Foundation.FoundationContract.winmd</HintPath>
74-
<Aliases>WindowsRuntime</Aliases>
75-
<Private>False</Private>
76-
</Reference>
77-
<Reference Include="Windows.Foundation.UniversalApiContract">
78-
<HintPath>$(MSBuildProgramFiles32)\Windows Kits\10\References\10.0.17763.0\Windows.Foundation.UniversalApiContract\7.0.0.0\Windows.Foundation.UniversalApiContract.winmd</HintPath>
79-
<Aliases>WindowsRuntime</Aliases>
80-
<Private>False</Private>
81-
</Reference>
82-
</ItemGroup>
83-
<ItemGroup>
84-
<Compile Include="Common\Constants.cs" />
85-
<Compile Include="Common\MetadataRegistrationBase.cs" />
86-
<Compile Include="Common\PlatformTypes.cs" />
87-
<Compile Include="Controls\DropShadowPanel.Metadata.cs" />
88-
<Compile Include="Controls\DropShadowPanel.Typedata.cs" />
89-
<Compile Include="Controls\ImageEx.Metadata.cs" />
90-
<Compile Include="Controls\ImageEx.Typedata.cs" />
91-
<Compile Include="Controls\InAppNotification.Metadata.cs" />
92-
<Compile Include="Controls\InAppNotification.Typedata.cs" />
93-
<Compile Include="Controls\Loading.Metadata.cs" />
94-
<Compile Include="Controls\Loading.Typedata.cs" />
95-
<Compile Include="Controls\Menu.Metadata.cs" />
96-
<Compile Include="Controls\Menu.Typedata.cs" />
97-
<Compile Include="Controls\MenuItem.Metadata.cs" />
98-
<Compile Include="Controls\MenuItem.Typedata.cs" />
99-
<Compile Include="Controls\RadialProgressBar.Metadata.cs" />
100-
<Compile Include="Controls\RadialProgressBar.Typedata.cs" />
101-
<Compile Include="Controls\RotatorTile.Metadata.cs" />
102-
<Compile Include="Controls\RotatorTile.Typedata.cs" />
103-
<Compile Include="Controls\ScrollHeader.Metadata.cs" />
104-
<Compile Include="Controls\ScrollHeader.Typedata.cs" />
105-
<Compile Include="Controls\TabbedCommandBar.Metadata.cs" />
106-
<Compile Include="Controls\TabbedCommandBar.Typedata.cs" />
107-
<Compile Include="Controls\TabbedCommandBarItem.Metadata.cs" />
108-
<Compile Include="Controls\TabbedCommandBarItem.Typedata.cs" />
109-
<Compile Include="Controls\TextToolbar.Metadata.cs" />
110-
<Compile Include="Controls\TextToolbar.Typedata.cs" />
111-
<Compile Include="Controls\TileControl.Metadata.cs" />
112-
<Compile Include="Controls\TileControl.Typedata.cs" />
113-
<Compile Include="MetadataRegistration.cs" />
114-
<Compile Include="Properties\AssemblyInfo.cs">
115-
<SubType>Code</SubType>
116-
</Compile>
117-
<Compile Include="Properties\Resources.Designer.cs">
118-
<AutoGen>True</AutoGen>
119-
<DesignTime>True</DesignTime>
120-
<DependentUpon>Resources.resx</DependentUpon>
121-
</Compile>
122-
<EmbeddedResource Include="Properties\Resources.resx">
123-
<Generator>ResXFileCodeGenerator</Generator>
124-
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
125-
</EmbeddedResource>
126-
<AppDesigner Include="Properties\" />
127-
</ItemGroup>
128-
<ItemGroup>
129-
<EmbeddedResource Include="..\CommunityToolkit.WinUI.UI.Controls.Core\bin\$(Configuration)\net5.0-windows10.0.18362.0\CommunityToolkit.WinUI.UI.Controls.Core.xml">
130-
<Link>CommunityToolkit.WinUI.UI.Controls.Core.xml</Link>
131-
<Visible>False</Visible>
132-
</EmbeddedResource>
133-
</ItemGroup>
134-
<ItemGroup>
135-
<EmbeddedResource Include="Icons\CommunityToolkit.WinUI.UI.Controls.Menu.icon.png" />
136-
<EmbeddedResource Include="Icons\CommunityToolkit.WinUI.UI.Controls.RotatorTile.icon.png" />
137-
</ItemGroup>
138-
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
139-
<!-- No-op to avoid build error when packing solution from commandline -->
140-
<Target Name="Pack" />
12+
13+
<Import Project="$(BuildToolsDirectory)Windows.Toolkit.VisualStudio.Design.targets" />
14+
14115
</Project>

0 commit comments

Comments
 (0)