Restructure solution for better validation of projections (#313)

* Initial restructure to exercise nuget package references instead of project references.  Builds, but doesn't run.  Some issues with how to manage the nuget cache while building/restoring.  May need to ditch the nuget packaging, but keep the interop assemblies.

* remove project refs

* Remove nuget-based structure

* fix tests, sample, remove nuspecs

* winui tweak

* post rebase fixups

* post rebase fixup

* cleanup

* swallow RPC_E_DISCONNECTED in ContextCallback when apartment lost (this is better than try/catch which still causes test runs to fail in VS)

* removed nuget-related cruft
This commit is contained in:
Scott Jones 2020-06-12 14:45:28 -07:00 коммит произвёл GitHub
Родитель 7659cde6a4
Коммит ede4a473a2
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
34 изменённых файлов: 338 добавлений и 332 удалений

1
.gitignore поставляемый
Просмотреть файл

@ -16,3 +16,4 @@ TestWinRT
_build/
global.json
.nuget
.nupkg

Просмотреть файл

@ -11,6 +11,10 @@
<AssetTargetFallback>netcoreapp5.0</AssetTargetFallback>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' != 'net5.0'">
<DefineConstants>$(DefineConstants);MANUAL_IUNKNOWN</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(VisualStudioVersion)' == '15.0'">
<PlatformToolset>v141</PlatformToolset>
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
@ -27,9 +31,8 @@
<BuildPlatform>$(Platform)</BuildPlatform>
<BuildPlatform Condition="'$(Platform)'=='Win32'">x86</BuildPlatform>
<BuildOutDir Condition="'$(BuildOutDir)'==''">$([MSBuild]::NormalizeDirectory('$(SolutionDir)_build', '$(BuildPlatform)', '$(Configuration)'))</BuildOutDir>
<CsWinRTDir>$([MSBuild]::NormalizeDirectory('$(BuildOutDir)', 'cswinrt', 'bin'))</CsWinRTDir>
<CsWinRTDir Condition="'$(Platform)'=='ARM' or '$(Platform)'=='ARM64'">$([MSBuild]::NormalizeDirectory('$(SolutionDir)_build', 'x86', '$(Configuration)', 'cswinrt', 'bin'))</CsWinRTDir>
<CsWinRTExe>$(CsWinRTDir)cswinrt.exe</CsWinRTExe>
<CsWinRTPath>$([MSBuild]::NormalizeDirectory('$(BuildOutDir)', 'cswinrt', 'bin'))</CsWinRTPath>
<CsWinRTPath Condition="'$(Platform)'=='ARM' or '$(Platform)'=='ARM64'">$([MSBuild]::NormalizeDirectory('$(SolutionDir)_build', 'x86', '$(Configuration)', 'cswinrt', 'bin'))</CsWinRTPath>
</PropertyGroup>
<PropertyGroup Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
@ -81,4 +84,6 @@
<Import Project="Strings.props" />
<Import Project="nuget\Microsoft.Windows.CsWinRT.props" />
</Project>

Просмотреть файл

@ -1,14 +1,5 @@
<!--NOTE: Directory.Build.* files are temporary until C#/WinRT nuget contains msbuild support-->
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ResolveAssemblyReferencesDependsOn Condition="'$(RemoveWindowsReference)'=='true'">$(ResolveAssemblyReferencesDependsOn);RemoveWindowsReference</ResolveAssemblyReferencesDependsOn>
</PropertyGroup>
<!--Remove Windows.Winmd reference to prevent compile collisions-->
<Target Name="RemoveWindowsReference" Outputs="@(Reference)">
<ItemGroup>
<Reference Remove="Windows"/>
</ItemGroup>
</Target>
<Import Project="nuget\Microsoft.Windows.CsWinRT.targets" />
</Project>

Просмотреть файл

@ -0,0 +1,81 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net5.0</TargetFrameworks>
<Platforms>x64;x86</Platforms>
<TargetPlatformVersion>10.0.18362.0</TargetPlatformVersion>
<LangVersion>8</LangVersion>
</PropertyGroup>
<PropertyGroup>
<GenerateTestProjection Condition="'$(GenerateTestProjection)$(Configuration)' == 'Release'">true</GenerateTestProjection>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>8305;0618</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\TestComponentCSharp\TestComponentCSharp.vcxproj" />
<ProjectReference Include="..\..\TestWinRT\TestComponent\TestComponent.vcxproj" />
<PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
<ProjectReference Include="..\..\WinRT.Runtime\WinRT.Runtime.csproj" />
<ProjectReference Include="..\..\cswinrt\cswinrt.vcxproj" />
<ProjectReference Include="..\Windows\Windows.csproj" />
<ProjectReference Include="..\WinUI\WinUI.csproj" />
<InternalsVisibleTo Include="UnitTest" />
</ItemGroup>
<Target Name="GenerateProjection" AfterTargets="ResolveAssemblyReferences" BeforeTargets="DispatchToInnerBuilds;Build" Condition="'$(GenerateTestProjection)' == 'true'">
<PropertyGroup>
<!--PkgMicrosoft_WinUI is set in in obj\*.csproj.nuget.g.props with TargetFramework condition, doesn't support multi-targeting-->
<PkgMicrosoft_WinUI Condition="'$(PkgMicrosoft_WinUI)'==''">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'microsoft.winui', '$(MicrosoftWinUIVersion)'))</PkgMicrosoft_WinUI>
</PropertyGroup>
<ItemGroup>
<!--Explicitly reference WinUI winmds from TFM uap10.0-->
<ReferenceWinMDs Include="$(PkgMicrosoft_WinUI)/**/*.winmd" />
<ReferenceWinMDs Include="@(ReferencePath)" Condition="'%(ReferencePath.WinMDFile)' == 'true'" />
<!--Do not publish projection source winmds -->
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="%(ReferenceCopyLocalPaths.Filename) == 'TestComponent'" />
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="%(ReferenceCopyLocalPaths.Filename) == 'TestComponentCSharp'" />
</ItemGroup>
<PropertyGroup>
<CsWinRTVerbosity>high</CsWinRTVerbosity>
<CsWinRTResponseFile>$(IntermediateOutputPath)cswinrt_test.rsp</CsWinRTResponseFile>
<CsWinRTCommand>$(CsWinRTExe) %40"$(CsWinRTResponseFile)"</CsWinRTCommand>
</PropertyGroup>
<PropertyGroup>
<CsWinRTParams>
-verbose
-in 10.0.18362.0
-in @(ReferenceWinMDs->'"%(FullPath)"', ' ')
-out "$(ProjectDir)Generated Files"
-exclude Windows
-exclude Microsoft
-include TestComponent
-include TestComponentCSharp
</CsWinRTParams>
</PropertyGroup>
<MakeDir Directories="$(ProjectDir)Generated Files" />
<WriteLinesToFile File="$(CsWinRTResponseFile)" Lines="$(CsWinRTParams)" Overwrite="true" WriteOnlyWhenDifferent="true" />
<Message Text="$(CsWinRTCommand)" Importance="$(CsWinRTVerbosity)" />
<Exec Command="$(CsWinRTCommand)" />
</Target>
<Target Name="IncludeProjection" BeforeTargets="CoreCompile" AfterTargets="GenerateProjection">
<PropertyGroup>
<!--PkgMicrosoft_WinUI is set in in obj\*.csproj.nuget.g.props with TargetFramework condition, doesn't support multi-targeting-->
<PkgMicrosoft_WinUI Condition="'$(PkgMicrosoft_WinUI)'==''">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'microsoft.winui', '$(MicrosoftWinUIVersion)'))</PkgMicrosoft_WinUI>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(ProjectDir)Generated Files/*.cs" Exclude="@(Compile)" />
<!--Remove references to projection source winmds to prevent compile conflict warnings-->
<ReferencePathWithRefAssemblies Remove="@(ReferencePathWithRefAssemblies)" Condition="%(ReferencePathWithRefAssemblies.Filename) == 'TestComponent'" />
<ReferencePathWithRefAssemblies Remove="@(ReferencePathWithRefAssemblies)" Condition="%(ReferencePathWithRefAssemblies.Filename) == 'TestComponentCSharp'" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<TargetFrameworks>netstandard2.0;net5.0</TargetFrameworks>
<Platforms>x64;x86</Platforms>
<TargetPlatformVersion>10.0.18362.0</TargetPlatformVersion>
<CsWinrtExe Condition="'$(CsWinrtPath)'!=''">$(CsWinrtPath)cswinrt.exe</CsWinrtExe>
<LangVersion>8</LangVersion>
</PropertyGroup>
<PropertyGroup>
@ -12,53 +12,45 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>8305;0618</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
<ProjectReference Include="..\..\WinRT.Runtime\WinRT.Runtime.csproj" />
<ProjectReference Include="..\..\cswinrt\cswinrt.vcxproj" />
<!-- Exclude compile and build time assets so we don't think we're building a real WinUI App -->
<PackageReference Include="Microsoft.WinUI" Version="$(MicrosoftWinUIVersion)" GeneratePathProperty="true">
<ExcludeAssets>compile; build</ExcludeAssets>
<ProjectReference Include="..\Windows\Windows.csproj" />
<PackageReference Include="Microsoft.WinUI" Version="[$(MicrosoftWinUIVersion)]" GeneratePathProperty="true">
<ExcludeAssets>compile; build; runtime</ExcludeAssets>
</PackageReference>
<!-- For WinRTModule-->
<InternalsVisibleTo Include="WinUITest" />
</ItemGroup>
<Target Name="GenerateWinUIProjection" BeforeTargets="CoreCompile" Condition="'$(GenerateTestProjection)' == 'true'">
<Target Name="GenerateProjection" AfterTargets="ResolveAssemblyReferences" BeforeTargets="DispatchToInnerBuilds;Build" Condition="'$(GenerateTestProjection)' == 'true'">
<PropertyGroup>
<!--PkgMicrosoft_WinUI is set in in obj\*.csproj.nuget.g.props with TargetFramework condition, doesn't support multi-targeting-->
<PkgMicrosoft_WinUI Condition="'$(PkgMicrosoft_WinUI)'==''">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'microsoft.winui', '$(MicrosoftWinUIVersion)'))</PkgMicrosoft_WinUI>
</PropertyGroup>
<ItemGroup>
<!--PkgMicrosoft_WinUI is defined by Nuget reference-->
<WinUIWinMDs Include="$(PkgMicrosoft_WinUI)/**/*.winmd" />
<!--Explicitly reference WinUI winmds from TFM uap10.0-->
<ReferenceWinMDs Include="$(PkgMicrosoft_WinUI)/**/*.winmd" />
<ReferenceWinMDs Include="@(ReferencePath)" Condition="'%(ReferencePath.WinMDFile)' == 'true'" />
</ItemGroup>
<PropertyGroup>
<CsWinRTVerbosity>high</CsWinRTVerbosity>
<CsWinRTResponseFile>$(IntermediateOutputPath)cswinrt_platform.rsp</CsWinRTResponseFile>
<CsWinRTResponseFile>$(IntermediateOutputPath)cswinrt_winui.rsp</CsWinRTResponseFile>
<CsWinRTCommand>$(CsWinrtExe) %40"$(CsWinRTResponseFile)"</CsWinRTCommand>
</PropertyGroup>
<PropertyGroup>
<CsWinRTParams>
-verbose
-in 10.0.18362.0
-in @(WinUIWinMDs->'"%(FullPath)"', ' ')
-in @(ReferenceWinMDs->'"%(FullPath)"', ' ')
-out "$(ProjectDir)Generated Files"
-exclude Windows
-include Microsoft
-include Windows
# Exclude causality types colliding with those in System.Private.CoreLib.dll
-exclude Windows.Foundation.Diagnostics
# Exclude Windows.UI, Windows.UI.Text, Windows.UI.Xaml per Microsoft.Windows.SDK.WinUI.Contracts NuGet
-exclude Windows.UI.Colors
-exclude Windows.UI.IColors
-exclude Windows.UI.ColorHelper
-exclude Windows.UI.IColorHelper
#-exclude Windows.UI.Text (see below: must include Windows.UI.Text to workaround WinUI nuget issues)
-exclude Windows.UI.Xaml
-exclude Windows.ApplicationModel.Store.Preview
# Allow Windows.UI.Text, Windows.UI.Xaml types used in other namespaces
-include Windows.UI.Text.FontStretch
-include Windows.UI.Text.FontStyle
-include Windows.UI.Text.FontWeight
-include Windows.UI.Text.UnderlineType
# The current WinUI nuget incorrectly references several Windows.* types that should be
# Microsoft.* types instead. Temporarily include these to enable the build
-include Windows.UI.Xaml.Interop.Type
@ -82,15 +74,10 @@
<Exec Command="$(CsWinRTCommand)" />
</Target>
<ItemGroup>
<ReferenceCopyLocalPaths Include="$(PkgMicrosoft_WinUI)/runtimes/win10-$(Platform)/native/*.dll" />
<ReferenceCopyLocalPaths Include="$(PkgMicrosoft_WinUI)/runtimes/win10-$(Platform)/native/**/*.mui">
<DestinationSubDirectory>%(RecursiveDir)</DestinationSubDirectory>
</ReferenceCopyLocalPaths>
</ItemGroup>
<Target Name="IncludeWinUIProjection" BeforeTargets="CoreCompile" AfterTargets="GenerateWinUIProjection">
<Target Name="IncludeProjection" BeforeTargets="CoreCompile" AfterTargets="GenerateProjection">
<ItemGroup>
<Compile Include="$(ProjectDir)Generated Files/*.cs" Exclude="@(Compile)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -0,0 +1,76 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net5.0</TargetFrameworks>
<Platforms>x64;x86</Platforms>
<TargetPlatformVersion>10.0.18362.0</TargetPlatformVersion>
<LangVersion>8</LangVersion>
</PropertyGroup>
<PropertyGroup>
<GenerateTestProjection Condition="'$(GenerateTestProjection)$(Configuration)' == 'Release'">true</GenerateTestProjection>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>8305;0618</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|x64'">
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
<!--<PackageReference Include="Microsoft.Windows.CsWinRT" Version="[$(NugetTestVersion)]" />-->
<ProjectReference Include="..\..\WinRT.Runtime\WinRT.Runtime.csproj" />
<ProjectReference Include="..\..\cswinrt\cswinrt.vcxproj" />
</ItemGroup>
<Target Name="GenerateProjection" AfterTargets="ResolveAssemblyReferences" BeforeTargets="DispatchToInnerBuilds;Build" Condition="'$(GenerateTestProjection)' == 'true'">
<PropertyGroup>
<CsWinRTVerbosity>high</CsWinRTVerbosity>
<CsWinRTResponseFile>$(IntermediateOutputPath)cswinrt_windows.rsp</CsWinRTResponseFile>
<CsWinRTCommand>$(CsWinrtExe) %40"$(CsWinRTResponseFile)"</CsWinRTCommand>
</PropertyGroup>
<PropertyGroup>
<CsWinRTParams>
-verbose
-in 10.0.18362.0
-out "$(ProjectDir)Generated Files"
-include Windows
# Exclude causality types colliding with those in System.Private.CoreLib.dll
-exclude Windows.Foundation.Diagnostics
# Exclude Windows.UI, Windows.UI.Text, Windows.UI.Xaml per Microsoft.Windows.SDK.WinUI.Contracts NuGet
-include Windows.UI.Popups
-exclude Windows.UI.Colors
-exclude Windows.UI.IColors
-exclude Windows.UI.ColorHelper
-exclude Windows.UI.IColorHelper
#-exclude Windows.UI.Text (must include Windows.UI.Text to work around WinUI nuget issues)
-exclude Windows.UI.Xaml
-exclude Windows.ApplicationModel.Store.Preview
# Allow Windows.UI.Text, Windows.UI.Xaml types used in other namespaces
-include Windows.UI.Text.FontStretch
-include Windows.UI.Text.FontStyle
-include Windows.UI.Text.FontWeight
-include Windows.UI.Text.UnderlineType
-include Windows.UI.Xaml.Media.Animation.ConditionallyIndependentlyAnimatableAttribute
</CsWinRTParams>
</PropertyGroup>
<MakeDir Directories="$(ProjectDir)Generated Files" />
<WriteLinesToFile File="$(CsWinRTResponseFile)" Lines="$(CsWinRTParams)" Overwrite="true" WriteOnlyWhenDifferent="true" />
<Message Text="$(CsWinRTCommand)" Importance="$(CsWinRTVerbosity)" />
<Exec Command="$(CsWinRTCommand)" />
</Target>
<Target Name="IncludeProjection" BeforeTargets="CoreCompile" AfterTargets="GenerateProjection">
<ItemGroup>
<Compile Include="$(ProjectDir)Generated Files/*.cs" Exclude="@(Compile)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -73,7 +73,7 @@
<ClInclude Include="StaticClass.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Generated Files\module.g.cpp" />
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
<ClCompile Include="pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>

Просмотреть файл

@ -1,9 +0,0 @@
<!--NOTE: Directory.Build.* files are temporary until C#/WinRT nuget contains msbuild support-->
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
<PropertyGroup Condition="'$(TargetFramework)' != 'net5.0'">
<DefineConstants>$(DefineConstants);MANUAL_IUNKNOWN</DefineConstants>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,96 +0,0 @@
<!--NOTE: Directory.Build.* files are temporary until C#/WinRT nuget contains msbuild support-->
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<GenerateTestProjection Condition="'$(GenerateTestProjection)$(Configuration)' == 'Release'">$(IsCrossTargetingBuild)</GenerateTestProjection>
</PropertyGroup>
<ItemGroup>
<Content Include="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
<Target Name="CopyTestComponent" BeforeTargets="CopyFilesToOutputDirectory">
<ItemGroup>
<Content Include="
$(BuildOutDir)TestComponent\bin\TestComponent.dll;
$(BuildOutDir)TestComponent\bin\TestComponent.pdb;
$(BuildOutDir)TestComponentCSharp\bin\TestComponentCSharp\TestComponentCSharp.dll;
$(BuildOutDir)TestComponentCSharp\bin\TestComponentCSharp\TestComponentCSharp.pdb"
CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
</Target>
<Target Name="GenerateProjection" BeforeTargets="DispatchToInnerBuilds;Build" Condition="'$(GenerateTestProjection)' == 'true'">
<PropertyGroup>
<!--PkgMicrosoft_WinUI is set in in obj\*.csproj.nuget.g.props with TargetFramework condition, doesn't support multi-targeting-->
<PkgMicrosoft_WinUI Condition="'$(PkgMicrosoft_WinUI)'==''">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'microsoft.winui', '$(MicrosoftWinUIVersion)'))</PkgMicrosoft_WinUI>
</PropertyGroup>
<ItemGroup>
<!--PkgMicrosoft_WinUI is defined by Nuget reference-->
<WinUIWinMDs Include="$(PkgMicrosoft_WinUI)/**/*.winmd" />
</ItemGroup>
<ItemGroup>
<UnitTestWinMDs Include="$(BuildOutDir)TestComponent\bin\TestComponent.winmd" />
<UnitTestWinMDs Include="$(BuildOutDir)TestComponentCSharp\bin\TestComponentCSharp\TestComponentCSharp.winmd" />
</ItemGroup>
<PropertyGroup>
<CsWinRTVerbosity>high</CsWinRTVerbosity>
<CsWinRTResponseFile>$(IntermediateOutputPath)cswinrt_unittest.rsp</CsWinRTResponseFile>
<CsWinRTCommand>$(CsWinrtExe) %40"$(CsWinRTResponseFile)"</CsWinRTCommand>
</PropertyGroup>
<PropertyGroup>
<CsWinRTParams>
-verbose
-in 10.0.18362.0
-in @(WinUIWinMDs->'"%(FullPath)"', ' ')
-in @(UnitTestWinMDs->'"%(FullPath)"', ' ')
-out "$(ProjectDir)Generated Files"
-include TestComponentCSharp
-include TestComponent
-include Windows.Foundation
-include Windows.UI.Popups
-include Windows.UI.Color
-include Microsoft.UI.Xaml.CornerRadius
-include Microsoft.UI.Xaml.Duration
-include Microsoft.UI.Xaml.DurationType
-include Microsoft.UI.Xaml.GridLength
-include Microsoft.UI.Xaml.GridUnitType
-include Microsoft.UI.Xaml.Thickness
-include Microsoft.UI.Xaml.Controls.Primitives.GeneratorPosition
-include Microsoft.UI.Xaml.Interop
-include Microsoft.UI.Xaml.Media.Matrix
-exclude Microsoft.UI.Xaml.Media.MatrixTransform
-exclude Microsoft.UI.Xaml.Media.Matrix3DProjection
-include Microsoft.UI.Xaml.Media.Animation.KeyTime
-include Microsoft.UI.Xaml.Media.Animation.RepeatBehavior
-include Microsoft.UI.Xaml.Media.Animation.RepeatBehaviorType
-include Microsoft.UI.Xaml.Media.Media3D.Matrix3D
-include Microsoft.UI.Xaml.WinUIContract
# Exclude causality types colliding with those in System.Private.CoreLib.dll
-exclude Windows.Foundation.Diagnostics
# Exclude types per Microsoft.Windows.SDK.WinUI.Contracts NuGet
-exclude Windows.UI.Colors
-exclude Windows.UI.IColors
-exclude Windows.UI.ColorHelper
-exclude Windows.UI.IColorHelper
# The current WinUI nuget incorrectly references several Windows.* types that should be
# Microsoft.* types instead. Temporarily include these to enable the build
-include Windows.UI.Xaml.Interop.NotifyCollectionChangedAction
</CsWinRTParams>
</PropertyGroup>
<WriteLinesToFile
File="$(CsWinRTResponseFile)" Lines="$(CsWinRTParams)"
Overwrite="true" WriteOnlyWhenDifferent="true" />
<Message Text="$(CsWinRTCommand)" Importance="$(CsWinRTVerbosity)" />
<Exec Command="$(CsWinRTCommand)" />
</Target>
<Target Name="IncludeProjection" BeforeTargets="CoreCompile" AfterTargets="GenerateProjection">
<ItemGroup>
<Compile Include="$(ProjectDir)Generated Files/*.cs" Exclude="@(Compile)" />
</ItemGroup>
</Target>
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
</Project>

Просмотреть файл

@ -24,11 +24,11 @@ using WinRT.Interop;
namespace UnitTest
{
public class TestComp
public class TestCSharp
{
public Class TestObject { get; private set; }
public TestComp()
public TestCSharp()
{
TestObject = new Class();
}

Просмотреть файл

@ -9,11 +9,11 @@ using Xunit;
namespace UnitTest
{
public class TestComponent
public class TestWinRT
{
public ITests Tests { get; private set; }
public TestComponent()
public TestWinRT()
{
Tests = TestRunner.MakeTests();
}

Просмотреть файл

@ -15,12 +15,11 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Projections\Windows\Windows.csproj" />
<ProjectReference Include="..\Projections\WinUI\WinUI.csproj" />
<ProjectReference Include="..\Projections\Test\Test.csproj" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="Microsoft.VCRTForwarders.140" Version="1.0.1-rc" />
<!-- Exclude compile and build time assets so we don't think we're building a real WinUI App -->
<PackageReference Include="Microsoft.WinUI" Version="$(MicrosoftWinUIVersion)" GeneratePathProperty="true">
<ExcludeAssets>compile; build</ExcludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.VCRTForwarders.140" Version="1.0.5" />
<PackageReference Include="System.Collections" Version="4.3.0" />
<PackageReference Include="System.Runtime.InteropServices" Version="4.3.0" />
<PackageReference Include="System.Diagnostics.Debug" Version="4.3.0" />
@ -44,15 +43,22 @@
<PackageReference Include="XunitXml.TestLogger" Version="2.1.26" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\cswinrt\cswinrt.vcxproj" />
<ProjectReference Include="..\TestComponentCSharp\TestComponentCSharp.vcxproj" />
<ProjectReference Include="..\TestWinRT\TestComponent\TestComponent.vcxproj" />
<ProjectReference Include="..\WinRT.Runtime\WinRT.Runtime.csproj" />
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0'">
<Compile Remove="**/*.net5.cs" />
<None Include="**/*.net5.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Generated Files\" />
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp5.0'">
<Compile Remove="**/*.netcoreapp2.0.cs" />
<None Include="**/*.netcoreapp2.0.cs" />
</ItemGroup>
<Target Name="FilterProjection" BeforeTargets="CoreCompile">
<ItemGroup>
<!--Remove references to projection source winmds to prevent compile conflict warnings-->
<ReferencePathWithRefAssemblies Remove="@(ReferencePathWithRefAssemblies)" Condition="%(ReferencePathWithRefAssemblies.Filename) == 'TestComponent'" />
<ReferencePathWithRefAssemblies Remove="@(ReferencePathWithRefAssemblies)" Condition="%(ReferencePathWithRefAssemblies.Filename) == 'TestComponentCSharp'" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -1,4 +1,3 @@
// WinUI projection smoke test (compile only)
using System;
using System.Diagnostics;
using System.Linq;
@ -10,25 +9,25 @@ using WinRT;
using Windows.Foundation;
using Windows.Foundation.Collections;
namespace WinUITest
namespace UnitTest
{
public class TestProjection
public class TestWinUI
{
public TestProjection()
public TestWinUI()
{
}
public class TestApp : Microsoft.UI.Xaml.Application
public class App : Microsoft.UI.Xaml.Application
{
}
[Fact]
public void TestSomeWinUI()
public void TestApp()
{
WinrtModule module = new WinrtModule();
var app = new TestApp();
var app = new App();
// TODO: load up some MUX!
//Assert.Equal(true, true);
}

Просмотреть файл

@ -71,9 +71,15 @@ namespace ABI.WinRT.Interop
public ComCallData* userData;
}
private const int RPC_E_DISCONNECTED = unchecked((int)0x80010108);
public unsafe void ContextCallback(global::WinRT.Interop.PFNCONTEXTCALL pfnCallback, ComCallData* pParam, Guid riid, int iMethod)
{
Marshal.ThrowExceptionForHR(_obj.Vftbl.ContextCallback_4(ThisPtr, pfnCallback, pParam, ref riid, iMethod, IntPtr.Zero));
var result = _obj.Vftbl.ContextCallback_4(ThisPtr, pfnCallback, pParam, ref riid, iMethod, IntPtr.Zero);
if (result != RPC_E_DISCONNECTED)
{
Marshal.ThrowExceptionForHR(result);
}
}
}
}

Просмотреть файл

@ -1,9 +0,0 @@
<!--NOTE: Directory.Build.* files are temporary until C#/WinRT nuget contains msbuild support-->
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
<PropertyGroup Condition="'$(TargetFramework)' != 'net5.0'">
<DefineConstants>$(DefineConstants);MANUAL_IUNKNOWN</DefineConstants>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,14 +0,0 @@
This project simply generates and compiles a complete projection of Windows SDK and WinUI metadata.
With a release cswinrt.exe, it takes < 1s to generate all of the projection sources.
With debug, it takes a minute. So only release builds create the projection by default.
This can be overridden by explicitly setting the BuildTestProjection property.
This project assumes a private nuget source has been created, pointing to:
https://microsoft.pkgs.visualstudio.com/_packaging/WinUI-Xaml-CI@IXP/nuget/v3/index.json
For usability (until the cswinrt nuget has msbuild support), this and the UnitTest projects
both make use of Directory.Build.* files to create the projection, stage binaries, etc.
WinUITest uses a response file to generate the projection, which can be supplied as a
debugging parameter to the cswinrt project.

Просмотреть файл

@ -1,10 +0,0 @@
<!--NOTE: Directory.Build.* files are temporary until C#/WinRT nuget contains msbuild support-->
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Content Include="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
<Import Condition="'$(CsWinRTPath)'==''" Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
</Project>

Просмотреть файл

@ -1,8 +0,0 @@
{
"profiles": {
"UnitTest": {
"commandName": "Project",
"nativeDebugging": false
}
}
}

Просмотреть файл

@ -1,39 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<IsPackable>false</IsPackable>
<Platforms>x64;x86</Platforms>
<RunPostBuildEvent>Always</RunPostBuildEvent>
<ProjectName>WinUITest</ProjectName>
<LangVersion>8</LangVersion>
</PropertyGroup>
<PropertyGroup>
<NoWarn>1701;1702;0436;1658</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="Microsoft.VCRTForwarders.140" Version="1.0.1-rc" />
<PackageReference Include="System.Memory" Version="4.5.3" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.console" Version="2.4.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="XunitXml.TestLogger" Version="2.1.26" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\cswinrt\cswinrt.vcxproj" />
<ProjectReference Include="..\..\WinRT.Runtime\WinRT.Runtime.csproj" />
<ProjectReference Include="..\WinUIProjection\WinUIProjection.csproj" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,4 +0,0 @@
{
"$schema": "https://xunit.net/schema/current/xunit.runner.schema.json",
"shadowCopy": false
}

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -3,7 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="NetCoreDesktopSample"
xmlns:local="WinUIDesktopSample"
mc:Ignorable="d"
Height="450" Width="800">
<Grid>

Просмотреть файл

@ -22,12 +22,14 @@
<ItemGroup>
<PackageReference Include="Microsoft.VCRTForwarders.140" Version="1.0.5" />
<ProjectReference Include="..\Projections\Windows\Windows.csproj" />
<ProjectReference Include="..\Projections\WinUI\WinUI.csproj" />
<!--
Exclude compile time assets so we don't pick up the interop assembly from the WinUI Nuget
since we are building our own in the WinUIProjection project
-->
<PackageReference Include="Microsoft.WinUI" Version="$(MicrosoftWinUIVersion)" GeneratePathProperty="true">
<ExcludeAssets>compile;</ExcludeAssets>
<ExcludeAssets>compile; runtime</ExcludeAssets>
</PackageReference>
</ItemGroup>
@ -42,9 +44,4 @@
</ItemGroup>
</Target>
<ItemGroup>
<ProjectReference Include="..\..\WinRT.Runtime\WinRT.Runtime.csproj" />
<ProjectReference Include="..\WinUIProjection\WinUIProjection.csproj" />
</ItemGroup>
</Project>

Просмотреть файл

@ -104,6 +104,7 @@ if ErrorLevel 1 (
exit /b !ErrorLevel!
)
rem todo remove all this
:package
set cswinrt_bin_dir=%~dp0_build\%cswinrt_platform%\%cswinrt_configuration%\cswinrt\bin\
set cswinrt_exe=%cswinrt_bin_dir%cswinrt.exe

Просмотреть файл

@ -11,8 +11,11 @@ EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitTest", "UnitTest\UnitTest.csproj", "{9A9F52CA-F624-43A4-B5EF-C50861F584C2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cswinrt", "cswinrt\cswinrt.vcxproj", "{6ACFD2B2-E8AA-4CD4-AAD8-213CE8BB2637}"
ProjectSection(ProjectDependencies) = postProject
{25244CED-966E-45F2-9711-1F51E951FF89} = {25244CED-966E-45F2-9711-1F51E951FF89}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Files", "Solution Files", "{96495AB4-2D86-47D1-A174-27D0B436DC98}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Files", "Files", "{96495AB4-2D86-47D1-A174-27D0B436DC98}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
build.cmd = build.cmd
@ -30,13 +33,26 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestComponent", "TestWinRT\
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinRT.Runtime", "WinRT.Runtime\WinRT.Runtime.csproj", "{25244CED-966E-45F2-9711-1F51E951FF89}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WinUI", "WinUI", "{325B6B80-4029-45FA-9429-004C1214B3EB}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinUIDesktopSample", "WinUIDesktopSample\WinUIDesktopSample.csproj", "{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinUIDesktopSample", "WinUI\WinUIDesktopSample\WinUIDesktopSample.csproj", "{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Test", "Projections\Test\Test.csproj", "{C6D580C5-7037-4733-B933-916FF400AFE2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinUIProjection", "WinUI\WinUIProjection\WinUIProjection.csproj", "{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Projections", "Projections", "{6D41796B-9904-40B8-BBCB-40B2D1BAE44B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinUITest", "WinUI\WinUITest\WinUITest.csproj", "{B2CCF56D-27A9-427A-BA82-6CA11774DA90}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Windows", "Projections\Windows\Windows.csproj", "{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinUI", "Projections\WinUI\WinUI.csproj", "{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Nuget", "Nuget", "{5A94EFDF-A6AC-494D-A731-A0A8A37F1F6C}"
ProjectSection(SolutionItems) = preProject
nuget\LICENSE = nuget\LICENSE
nuget\Microsoft.Windows.CsWinRT.nuspec = nuget\Microsoft.Windows.CsWinRT.nuspec
nuget\Microsoft.Windows.CsWinRT.props = nuget\Microsoft.Windows.CsWinRT.props
nuget\Microsoft.Windows.CsWinRT.targets = nuget\Microsoft.Windows.CsWinRT.targets
nuget\readme.md = nuget\readme.md
nuget\readme.txt = nuget\readme.txt
nuget\SignConfig.xml = nuget\SignConfig.xml
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -136,56 +152,70 @@ Global
{25244CED-966E-45F2-9711-1F51E951FF89}.Release|x64.Build.0 = Release|Any CPU
{25244CED-966E-45F2-9711-1F51E951FF89}.Release|x86.ActiveCfg = Release|Any CPU
{25244CED-966E-45F2-9711-1F51E951FF89}.Release|x86.Build.0 = Release|Any CPU
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Debug|Any CPU.ActiveCfg = Debug|x86
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Debug|ARM.ActiveCfg = Debug|x86
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Debug|ARM64.ActiveCfg = Debug|x86
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Debug|x64.ActiveCfg = Debug|x64
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Debug|x64.Build.0 = Debug|x64
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Debug|x86.ActiveCfg = Debug|x86
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Debug|x86.Build.0 = Debug|x86
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Release|Any CPU.ActiveCfg = Release|x86
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Release|ARM.ActiveCfg = Release|x86
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Release|ARM64.ActiveCfg = Release|x86
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Release|x64.ActiveCfg = Release|x64
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Release|x64.Build.0 = Release|x64
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Release|x86.ActiveCfg = Release|x86
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70}.Release|x86.Build.0 = Release|x86
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Debug|Any CPU.ActiveCfg = Debug|x86
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Debug|ARM.ActiveCfg = Debug|x86
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Debug|ARM64.ActiveCfg = Debug|x86
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Debug|x64.ActiveCfg = Debug|x64
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Debug|x64.Build.0 = Debug|x64
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Debug|x86.ActiveCfg = Debug|x86
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Debug|x86.Build.0 = Debug|x86
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Release|Any CPU.ActiveCfg = Release|x86
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Release|ARM.ActiveCfg = Release|x86
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Release|ARM64.ActiveCfg = Release|x86
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Release|x64.ActiveCfg = Release|x64
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Release|x64.Build.0 = Release|x64
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Release|x86.ActiveCfg = Release|x86
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF}.Release|x86.Build.0 = Release|x86
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Debug|Any CPU.ActiveCfg = Debug|x86
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Debug|ARM.ActiveCfg = Debug|x86
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Debug|ARM64.ActiveCfg = Debug|x86
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Debug|x64.ActiveCfg = Debug|x64
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Debug|x64.Build.0 = Debug|x64
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Debug|x86.ActiveCfg = Debug|x86
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Debug|x86.Build.0 = Debug|x86
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Release|Any CPU.ActiveCfg = Release|x86
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Release|ARM.ActiveCfg = Release|x86
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Release|ARM64.ActiveCfg = Release|x86
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Release|x64.ActiveCfg = Release|x64
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Release|x64.Build.0 = Release|x64
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Release|x86.ActiveCfg = Release|x86
{B2CCF56D-27A9-427A-BA82-6CA11774DA90}.Release|x86.Build.0 = Release|x86
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Debug|Any CPU.ActiveCfg = Debug|x86
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Debug|ARM.ActiveCfg = Debug|x86
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Debug|ARM64.ActiveCfg = Debug|x86
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Debug|x64.ActiveCfg = Debug|x64
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Debug|x64.Build.0 = Debug|x64
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Debug|x86.ActiveCfg = Debug|x86
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Debug|x86.Build.0 = Debug|x86
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Release|Any CPU.ActiveCfg = Release|x86
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Release|ARM.ActiveCfg = Release|x86
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Release|ARM64.ActiveCfg = Release|x86
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Release|x64.ActiveCfg = Release|x64
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Release|x64.Build.0 = Release|x64
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Release|x86.ActiveCfg = Release|x86
{8E6FBCB2-B0C1-4E92-8AEB-2A11564E6E0D}.Release|x86.Build.0 = Release|x86
{C6D580C5-7037-4733-B933-916FF400AFE2}.Debug|Any CPU.ActiveCfg = Debug|x86
{C6D580C5-7037-4733-B933-916FF400AFE2}.Debug|ARM.ActiveCfg = Debug|x86
{C6D580C5-7037-4733-B933-916FF400AFE2}.Debug|ARM64.ActiveCfg = Debug|x86
{C6D580C5-7037-4733-B933-916FF400AFE2}.Debug|x64.ActiveCfg = Debug|x64
{C6D580C5-7037-4733-B933-916FF400AFE2}.Debug|x64.Build.0 = Debug|x64
{C6D580C5-7037-4733-B933-916FF400AFE2}.Debug|x86.ActiveCfg = Debug|x86
{C6D580C5-7037-4733-B933-916FF400AFE2}.Debug|x86.Build.0 = Debug|x86
{C6D580C5-7037-4733-B933-916FF400AFE2}.Release|Any CPU.ActiveCfg = Release|x86
{C6D580C5-7037-4733-B933-916FF400AFE2}.Release|ARM.ActiveCfg = Release|x86
{C6D580C5-7037-4733-B933-916FF400AFE2}.Release|ARM64.ActiveCfg = Release|x86
{C6D580C5-7037-4733-B933-916FF400AFE2}.Release|x64.ActiveCfg = Release|x64
{C6D580C5-7037-4733-B933-916FF400AFE2}.Release|x64.Build.0 = Release|x64
{C6D580C5-7037-4733-B933-916FF400AFE2}.Release|x86.ActiveCfg = Release|x86
{C6D580C5-7037-4733-B933-916FF400AFE2}.Release|x86.Build.0 = Release|x86
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Debug|Any CPU.ActiveCfg = Debug|x86
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Debug|ARM.ActiveCfg = Debug|x86
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Debug|ARM64.ActiveCfg = Debug|x86
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Debug|x64.ActiveCfg = Debug|x64
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Debug|x64.Build.0 = Debug|x64
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Debug|x86.ActiveCfg = Debug|x86
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Debug|x86.Build.0 = Debug|x86
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Release|Any CPU.ActiveCfg = Release|x86
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Release|ARM.ActiveCfg = Release|x86
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Release|ARM64.ActiveCfg = Release|x86
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Release|x64.ActiveCfg = Release|x64
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Release|x64.Build.0 = Release|x64
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Release|x86.ActiveCfg = Release|x86
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A}.Release|x86.Build.0 = Release|x86
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Debug|Any CPU.ActiveCfg = Debug|x86
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Debug|ARM.ActiveCfg = Debug|x86
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Debug|ARM64.ActiveCfg = Debug|x86
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Debug|x64.ActiveCfg = Debug|x64
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Debug|x64.Build.0 = Debug|x64
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Debug|x86.ActiveCfg = Debug|x86
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Debug|x86.Build.0 = Debug|x86
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Release|Any CPU.ActiveCfg = Release|x86
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Release|ARM.ActiveCfg = Release|x86
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Release|ARM64.ActiveCfg = Release|x86
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Release|x64.ActiveCfg = Release|x64
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Release|x64.Build.0 = Release|x64
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Release|x86.ActiveCfg = Release|x86
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{B04E3F7C-BE25-4384-8D6F-7E450DBDBC70} = {325B6B80-4029-45FA-9429-004C1214B3EB}
{DAFC85B3-27AF-43EA-8F83-207E303BE7EF} = {325B6B80-4029-45FA-9429-004C1214B3EB}
{B2CCF56D-27A9-427A-BA82-6CA11774DA90} = {325B6B80-4029-45FA-9429-004C1214B3EB}
{C6D580C5-7037-4733-B933-916FF400AFE2} = {6D41796B-9904-40B8-BBCB-40B2D1BAE44B}
{FFA9A78B-F53F-43EE-AF87-24A80F4C330A} = {6D41796B-9904-40B8-BBCB-40B2D1BAE44B}
{0A991D5F-BFEE-4D2F-9AAD-6AD06470A5DF} = {6D41796B-9904-40B8-BBCB-40B2D1BAE44B}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5AE8C9D7-2613-4E1A-A4F2-579BAC28D0A2}

Просмотреть файл

@ -0,0 +1,5 @@
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
</Project>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.Windows.WinMD.1.0.191017.1\build\native\Microsoft.Windows.WinMD.props" Condition="Exists('..\packages\Microsoft.Windows.WinMD.1.0.191017.1\build\native\Microsoft.Windows.WinMD.props')" />
<Import Project="..\packages\Microsoft.Windows.WinMD.1.0.191022.1\build\native\Microsoft.Windows.WinMD.props" Condition="Exists('..\packages\Microsoft.Windows.WinMD.1.0.191022.1\build\native\Microsoft.Windows.WinMD.props')" />
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{6acfd2b2-e8aa-4cd4-aad8-213ce8bb2637}</ProjectGuid>
@ -66,6 +66,7 @@
<ResourceCompile Include="version.rc" />
</ItemGroup>
<ItemGroup>
<None Include="Directory.Build.targets" />
<None Include="packages.config" />
<None Include="strings\additions\Windows.Foundation\AsyncInfo.cs" />
<None Include="strings\additions\Windows.Foundation\AsyncInfoIdGenerator.cs" />
@ -110,8 +111,8 @@
<ImportGroup Label="ExtensionTargets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Windows.WinMD.1.0.191017.1\build\native\Microsoft.Windows.WinMD.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.WinMD.1.0.191017.1\build\native\Microsoft.Windows.WinMD.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.Windows.WinMD.1.0.191022.1\build\native\Microsoft.Windows.WinMD.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.WinMD.1.0.191022.1\build\native\Microsoft.Windows.WinMD.props'))" />
</Target>
</Project>

Просмотреть файл

@ -169,5 +169,6 @@
<None Include="strings\additions\Microsoft.UI.Xaml\Microsoft.UI.Xaml.SR.cs">
<Filter>strings\additions\Microsoft.UI.Xaml</Filter>
</None>
<None Include="Directory.Build.targets" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="globalPackagesFolder" value=".nuget/packages" />
</config>
<packageSources>
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
<clear />

Просмотреть файл

@ -5,8 +5,9 @@ Copyright (C) Microsoft Corporation. All rights reserved.
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<CsWinRTPath Condition="'$(CsWinRTPath)'==''">$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', '..'))</CsWinRTPath>
</PropertyGroup>
<PropertyGroup>
<CsWinRTPath Condition="'$(CsWinRTPath)'==''">$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', '..'))</CsWinRTPath>
<CsWinRTExe>$(CsWinRTPath)cswinrt.exe</CsWinRTExe>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,10 +1,14 @@
<!--NOTE: Directory.Build.* files are temporary until C#/WinRT nuget contains msbuild support-->
<!--
***********************************************************************************************
Copyright (C) Microsoft Corporation. All rights reserved.
***********************************************************************************************
-->
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--Remove Windows.Winmd reference to prevent compile collisions-->
<PropertyGroup>
<ResolveAssemblyReferencesDependsOn Condition="'$(RemoveWindowsReference)'=='true'">$(ResolveAssemblyReferencesDependsOn);RemoveWindowsReference</ResolveAssemblyReferencesDependsOn>
</PropertyGroup>
<!--Remove Windows.Winmd reference to prevent compile collisions-->
<Target Name="RemoveWindowsReference" Outputs="@(Reference)">
<ItemGroup>
<Reference Remove="Windows"/>