提交 2a60c24b 编写于 作者: D Dan Siegel

chore: adding platform packages

上级 665fe1a2
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<ItemGroup> <ItemGroup>
<PackageVersion Include="DryIoc.dll" Version="5.4.1" /> <PackageVersion Include="DryIoc.dll" Version="5.4.1" />
<PackageVersion Include="Grace" Version="7.2.1" /> <PackageVersion Include="Grace" Version="7.2.1" />
<PackageVersion Include="Grace.DependencyInjection.Extensions" Version="7.1.0" />
<PackageVersion Include="Unity.Container" Version="5.11.11" /> <PackageVersion Include="Unity.Container" Version="5.11.11" />
<PackageVersion Include="System.ValueTuple" Version="4.5.0" /> <PackageVersion Include="System.ValueTuple" Version="4.5.0" />
<PackageVersion Include="System.Reactive" Version="6.0.0" /> <PackageVersion Include="System.Reactive" Version="6.0.0" />
...@@ -76,4 +77,4 @@ ...@@ -76,4 +77,4 @@
<PackageVersion Include="Nerdbank.GitVersioning" Version="3.6.133" /> <PackageVersion Include="Nerdbank.GitVersioning" Version="3.6.133" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" /> <PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
</ItemGroup> </ItemGroup>
</Project> </Project>
\ No newline at end of file
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17 # Visual Studio Version 17
VisualStudioVersion = 17.4.33213.308 VisualStudioVersion = 17.4.33213.308
...@@ -99,10 +98,17 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Maui.Tests", "tests\M ...@@ -99,10 +98,17 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Maui.Tests", "tests\M
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.DryIoc.Maui.Tests", "tests\Maui\Prism.DryIoc.Maui.Tests\Prism.DryIoc.Maui.Tests.csproj", "{8711D306-1118-4A11-9399-EF14AA13015E}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.DryIoc.Maui.Tests", "tests\Maui\Prism.DryIoc.Maui.Tests\Prism.DryIoc.Maui.Tests.csproj", "{8711D306-1118-4A11-9399-EF14AA13015E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Prism.Events", "src\Prism.Events\Prism.Events.csproj", "{8610485A-BE9F-4938-86D4-E9F1FA1739A0}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Events", "src\Prism.Events\Prism.Events.csproj", "{8610485A-BE9F-4938-86D4-E9F1FA1739A0}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Prism.Grace.Shared", "src\Containers\Prism.Grace.Shared\Prism.Grace.Shared.shproj", "{93590426-A892-4C20-835A-90C76907794B}" Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Prism.Grace.Shared", "src\Containers\Prism.Grace.Shared\Prism.Grace.Shared.shproj", "{93590426-A892-4C20-835A-90C76907794B}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Prism.Ioc.Grace.Tests", "tests\Containers\Prism.Ioc.Grace.Tests\Prism.Ioc.Grace.Tests.csproj", "{E32016A4-3FA2-408C-A5ED-85335D91B2ED}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Ioc.Grace.Tests", "tests\Containers\Prism.Ioc.Grace.Tests\Prism.Ioc.Grace.Tests.csproj", "{E32016A4-3FA2-408C-A5ED-85335D91B2ED}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Prism.Grace.Maui", "src\Maui\Prism.Grace.Maui\Prism.Grace.Maui.csproj", "{8926D996-19B8-438A-A4CB-66DCF80A43BB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Prism.Grace.Uno.WinUI", "src\Uno\Prism.Grace.Uno\Prism.Grace.Uno.WinUI.csproj", "{7E3D969E-8FBB-4A21-9E79-F1099031A421}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Prism.Grace.Wpf", "src\Wpf\Prism.Grace.Wpf\Prism.Grace.Wpf.csproj", "{BE354602-1F2C-4C2E-8F26-1E5335114F51}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
...@@ -450,6 +456,42 @@ Global ...@@ -450,6 +456,42 @@ Global
{E32016A4-3FA2-408C-A5ED-85335D91B2ED}.Release|x64.Build.0 = Release|Any CPU {E32016A4-3FA2-408C-A5ED-85335D91B2ED}.Release|x64.Build.0 = Release|Any CPU
{E32016A4-3FA2-408C-A5ED-85335D91B2ED}.Release|x86.ActiveCfg = Release|Any CPU {E32016A4-3FA2-408C-A5ED-85335D91B2ED}.Release|x86.ActiveCfg = Release|Any CPU
{E32016A4-3FA2-408C-A5ED-85335D91B2ED}.Release|x86.Build.0 = Release|Any CPU {E32016A4-3FA2-408C-A5ED-85335D91B2ED}.Release|x86.Build.0 = Release|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Debug|x64.ActiveCfg = Debug|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Debug|x64.Build.0 = Debug|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Debug|x86.ActiveCfg = Debug|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Debug|x86.Build.0 = Debug|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Release|Any CPU.Build.0 = Release|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Release|x64.ActiveCfg = Release|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Release|x64.Build.0 = Release|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Release|x86.ActiveCfg = Release|Any CPU
{8926D996-19B8-438A-A4CB-66DCF80A43BB}.Release|x86.Build.0 = Release|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Debug|x64.ActiveCfg = Debug|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Debug|x64.Build.0 = Debug|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Debug|x86.ActiveCfg = Debug|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Debug|x86.Build.0 = Debug|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Release|Any CPU.Build.0 = Release|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Release|x64.ActiveCfg = Release|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Release|x64.Build.0 = Release|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Release|x86.ActiveCfg = Release|Any CPU
{7E3D969E-8FBB-4A21-9E79-F1099031A421}.Release|x86.Build.0 = Release|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Debug|x64.ActiveCfg = Debug|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Debug|x64.Build.0 = Debug|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Debug|x86.ActiveCfg = Debug|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Debug|x86.Build.0 = Debug|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Release|Any CPU.Build.0 = Release|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Release|x64.ActiveCfg = Release|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Release|x64.Build.0 = Release|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Release|x86.ActiveCfg = Release|Any CPU
{BE354602-1F2C-4C2E-8F26-1E5335114F51}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
...@@ -498,6 +540,9 @@ Global ...@@ -498,6 +540,9 @@ Global
{8610485A-BE9F-4938-86D4-E9F1FA1739A0} = {F3664D7A-6FF5-4D1F-9F5F-26EE87F032D3} {8610485A-BE9F-4938-86D4-E9F1FA1739A0} = {F3664D7A-6FF5-4D1F-9F5F-26EE87F032D3}
{93590426-A892-4C20-835A-90C76907794B} = {75B1C655-8365-4130-8B79-C748BF0403F2} {93590426-A892-4C20-835A-90C76907794B} = {75B1C655-8365-4130-8B79-C748BF0403F2}
{E32016A4-3FA2-408C-A5ED-85335D91B2ED} = {D62DD517-CA80-449D-A26B-9AB427379825} {E32016A4-3FA2-408C-A5ED-85335D91B2ED} = {D62DD517-CA80-449D-A26B-9AB427379825}
{8926D996-19B8-438A-A4CB-66DCF80A43BB} = {24639CEB-266D-40E1-B0A8-B78BB6F8CEF8}
{7E3D969E-8FBB-4A21-9E79-F1099031A421} = {8F959801-D494-4CAF-9437-90F30472E169}
{BE354602-1F2C-4C2E-8F26-1E5335114F51} = {C2BA93F6-D2E1-455F-B9FA-6221D087295E}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C7433AE2-B1A0-4C1A-887E-5CAA7AAF67A6} SolutionGuid = {C7433AE2-B1A0-4C1A-887E-5CAA7AAF67A6}
...@@ -513,13 +558,17 @@ Global ...@@ -513,13 +558,17 @@ Global
src\Containers\Prism.Unity.Shared\Prism.Unity.Shared.projitems*{704e14a4-c3a2-492d-9c4e-7d386a18b698}*SharedItemsImports = 5 src\Containers\Prism.Unity.Shared\Prism.Unity.Shared.projitems*{704e14a4-c3a2-492d-9c4e-7d386a18b698}*SharedItemsImports = 5
tests\Containers\Prism.Container.Shared\Prism.Container.Shared.projitems*{704e14a4-c3a2-492d-9c4e-7d386a18b698}*SharedItemsImports = 5 tests\Containers\Prism.Container.Shared\Prism.Container.Shared.projitems*{704e14a4-c3a2-492d-9c4e-7d386a18b698}*SharedItemsImports = 5
tests\Containers\Prism.Container.Shared\Prism.Container.Shared.projitems*{78932299-2281-4a59-bfb8-07de3014f748}*SharedItemsImports = 13 tests\Containers\Prism.Container.Shared\Prism.Container.Shared.projitems*{78932299-2281-4a59-bfb8-07de3014f748}*SharedItemsImports = 13
src\Containers\Prism.Grace.Shared\Prism.Grace.Shared.projitems*{7e3d969e-8fbb-4a21-9e79-f1099031a421}*SharedItemsImports = 5
src\Containers\Prism.Grace.Shared\Prism.Grace.Shared.projitems*{8926d996-19b8-438a-a4cb-66dcf80a43bb}*SharedItemsImports = 5
src\Containers\Prism.Grace.Shared\Prism.Grace.Shared.projitems*{93590426-a892-4c20-835a-90c76907794b}*SharedItemsImports = 13 src\Containers\Prism.Grace.Shared\Prism.Grace.Shared.projitems*{93590426-a892-4c20-835a-90c76907794b}*SharedItemsImports = 13
src\Containers\Prism.DryIoc.Shared\Prism.DryIoc.Shared.projitems*{aad8a958-546b-4b7d-bbd1-d79e825530eb}*SharedItemsImports = 5 src\Containers\Prism.DryIoc.Shared\Prism.DryIoc.Shared.projitems*{aad8a958-546b-4b7d-bbd1-d79e825530eb}*SharedItemsImports = 5
tests\Wpf\Prism.Container.Wpf.Shared\Prism.Container.Wpf.Shared.projitems*{ba05687e-2317-4a65-805b-c596f52f7203}*SharedItemsImports = 5 tests\Wpf\Prism.Container.Wpf.Shared\Prism.Container.Wpf.Shared.projitems*{ba05687e-2317-4a65-805b-c596f52f7203}*SharedItemsImports = 5
tests\Wpf\Prism.Container.Wpf.Shared\Prism.Container.Wpf.Shared.projitems*{bd42a7d6-a84d-4d27-9c28-7f6a2ec477f1}*SharedItemsImports = 13 tests\Wpf\Prism.Container.Wpf.Shared\Prism.Container.Wpf.Shared.projitems*{bd42a7d6-a84d-4d27-9c28-7f6a2ec477f1}*SharedItemsImports = 13
src\Containers\Prism.Grace.Shared\Prism.Grace.Shared.projitems*{be354602-1f2c-4c2e-8f26-1e5335114f51}*SharedItemsImports = 5
src\Containers\Prism.Unity.Shared\Prism.Unity.Shared.projitems*{c2f58215-92f0-4501-a9f4-862c78b2b4ce}*SharedItemsImports = 5 src\Containers\Prism.Unity.Shared\Prism.Unity.Shared.projitems*{c2f58215-92f0-4501-a9f4-862c78b2b4ce}*SharedItemsImports = 5
tests\Forms\Prism.DI.Forms.Tests\Prism.DI.Forms.Tests.projitems*{c2ff8459-f2d1-4b87-a31a-82a1835f89cf}*SharedItemsImports = 5 tests\Forms\Prism.DI.Forms.Tests\Prism.DI.Forms.Tests.projitems*{c2ff8459-f2d1-4b87-a31a-82a1835f89cf}*SharedItemsImports = 5
src\Containers\Prism.Unity.Shared\Prism.Unity.Shared.projitems*{d66336a6-07e5-401a-a710-daedd6975d59}*SharedItemsImports = 13 src\Containers\Prism.Unity.Shared\Prism.Unity.Shared.projitems*{d66336a6-07e5-401a-a710-daedd6975d59}*SharedItemsImports = 13
src\Containers\Prism.DryIoc.Shared\Prism.DryIoc.Shared.projitems*{db530d15-0556-4b6f-96b2-1497c8df08d6}*SharedItemsImports = 5
src\Containers\Prism.Grace.Shared\Prism.Grace.Shared.projitems*{e32016a4-3fa2-408c-a5ed-85335d91b2ed}*SharedItemsImports = 5 src\Containers\Prism.Grace.Shared\Prism.Grace.Shared.projitems*{e32016a4-3fa2-408c-a5ed-85335d91b2ed}*SharedItemsImports = 5
tests\Containers\Prism.Container.Shared\Prism.Container.Shared.projitems*{e32016a4-3fa2-408c-a5ed-85335d91b2ed}*SharedItemsImports = 5 tests\Containers\Prism.Container.Shared\Prism.Container.Shared.projitems*{e32016a4-3fa2-408c-a5ed-85335d91b2ed}*SharedItemsImports = 5
src\Containers\Prism.Unity.Shared\Prism.Unity.Shared.projitems*{e9a2458b-999d-4d36-822f-663d3830575a}*SharedItemsImports = 5 src\Containers\Prism.Unity.Shared\Prism.Unity.Shared.projitems*{e9a2458b-999d-4d36-822f-663d3830575a}*SharedItemsImports = 5
......
using Prism.Ioc;
using Prism.Ioc.Internals;
using Grace.DependencyInjection;
using System; using System;
using System.Xml.Linq;
using System.Linq; using System.Linq;
using Grace.DependencyInjection;
using Grace.DependencyInjection.Exceptions; using Grace.DependencyInjection.Exceptions;
using Prism.Ioc;
using Prism.Ioc.Internals;
namespace Prism.Grace namespace Prism.Grace
{ {
......
using Prism.Ioc;
using Grace.DependencyInjection.Extensions;
namespace Prism.Grace;
public partial class GraceContainerExtension : IServiceCollectionAware
{
IServiceProvider _serviceProvider;
public IServiceProvider CreateServiceProvider() =>
_serviceProvider;
public void Populate(IServiceCollection services) =>
_serviceProvider = Instance.Populate(services);
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<UseMaui>true</UseMaui>
<Description>Prism.Grace.Maui provides the implementation of Prism's IContainerExtension using the Grace container.</Description>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Grace" />
<PackageReference Include="Grace.DependencyInjection.Extensions" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Prism.Maui\Prism.Maui.csproj" />
</ItemGroup>
<Import Project="..\..\Containers\Prism.Grace.Shared\Prism.Grace.Shared.projitems" Label="Shared" />
</Project>
using Prism;
using Prism.Grace;
namespace Microsoft.Maui;
/// <summary>
/// Application base class using Grace Ioc
/// </summary>
public static class PrismAppExtensions
{
/// <summary>
/// Creates a new Prism Application using the Grace Ioc Container.
/// </summary>
/// <param name="builder"></param>
/// <param name="configurePrism"></param>
/// <returns></returns>
public static MauiAppBuilder UsePrism(this MauiAppBuilder builder, Action<PrismAppBuilder> configurePrism)
{
return builder.UsePrism(new GraceContainerExtension(), configurePrism);
}
}
<linker>
<assembly fullname="Grace" />
<assembly fullname="Prism.Grace.Uno" />
</linker>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net7.0;net7.0-android;net7.0-ios;net7.0-maccatalyst;net7.0-macos</TargetFrameworks>
<TargetFrameworks Condition=" '$(OS)' == 'Windows_NT' ">$(TargetFrameworks);net6.0-windows10.0.18362;net7.0-windows10.0.18362</TargetFrameworks>
<NoWarn>$(NoWarn);1591</NoWarn>
<AssemblyName>Prism.Grace.Uno</AssemblyName>
<PackageId>Prism.Grace.Uno.WinUI</PackageId>
<DefineConstants>$(DefineConstants);HAS_WINUI</DefineConstants>
<ImplicitUsings>enable</ImplicitUsings>
<!--
Library layout generation is disabled as this project does not have any XAML files, and
that if set to true, there is a nuget issue where Uno.Prism PRI resource get incorrectly
propagated to their dependents.
-->
<GenerateLibraryLayout>false</GenerateLibraryLayout>
<Description>
Use these extensions to build apps for Uno Platform, UWP, &amp; WinUI using Prism with the Grace Container.
Prism provides an implementation of a collection of design patterns that are helpful in writing well structured and maintainable XAML applications, including MVVM, dependency injection, commanding, event aggregation, and more. Prism's core functionality is a shared library targeting the .NET Framework and .NET Standard. Features that need to be platform specific are implemented in the respective libraries for the target platform (WPF, Uno Platform, and Xamarin Forms). Prism for Uno Platform helps you more easily design and build rich, flexible, and easy to maintain Windows UWP, WinUI &amp; cross platform Uno applications.
</Description>
<PackageTags>prism;winui;windows;uno;mvvm;uwp;ios;android;macos;webassembly;linux;xaml;grace</PackageTags>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\Wpf\Prism.Grace.Wpf\*.cs" Link="%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Grace" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Prism.Uno\Prism.Uno.WinUI.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="LinkerDefinition.mono.xml">
<LogicalName>$(AssemblyName).xml</LogicalName>
</EmbeddedResource>
</ItemGroup>
<Import Project="..\..\Containers\Prism.Grace.Shared\Prism.Grace.Shared.projitems" Label="Shared" />
</Project>
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<TargetFrameworks>net461;net47;net6.0-windows</TargetFrameworks>
<UseWPF>true</UseWPF>
<RootNamespace>Prism.Grace</RootNamespace>
<Description>Use these extensions to build Prism applications based on Grace.</Description>
<PackageTags>prism;grace;mvvm;wpf;xaml</PackageTags>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Grace" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Prism.Wpf\Prism.Wpf.csproj" />
</ItemGroup>
<Import Project="..\..\Containers\Prism.Grace.Shared\Prism.Grace.Shared.projitems" Label="Shared" />
</Project>
using Prism.Ioc;
namespace Prism.Grace;
public abstract class PrismApplication : PrismApplicationBase
{
protected override IContainerExtension CreateContainerExtension() =>
new GraceContainerExtension();
}
using Prism.Ioc;
namespace Prism.Grace;
public abstract class PrismBootstrapper : PrismBootstrapperBase
{
protected override IContainerExtension CreateContainerExtension() =>
new GraceContainerExtension();
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册