diff --git a/Data/Repository/GroupRepositoryImpl.cs b/Data/Repository/GroupRepositoryImpl.cs index 282cbba..97e5ee4 100644 --- a/Data/Repository/GroupRepositoryImpl.cs +++ b/Data/Repository/GroupRepositoryImpl.cs @@ -34,7 +34,7 @@ namespace Demo.Data.Repository return GetAllGroups[index]; } - public bool RemoveGroupById(int groupId) + public bool RemoveGroupByID(int groupId) { GroupLocalEntity? groupLocal = GetAllGroups .Where(x => x.ID == groupId).FirstOrDefault(); diff --git a/Data/Repository/IGroupRepository.cs b/Data/Repository/IGroupRepository.cs index 0288b8f..717e30a 100644 --- a/Data/Repository/IGroupRepository.cs +++ b/Data/Repository/IGroupRepository.cs @@ -5,7 +5,7 @@ namespace Demo.Data.Repository public interface IGroupRepository { List GetAllGroup(); - bool RemoveGroupById(int groupId); + bool RemoveGroupByID(int groupId); GroupLocalEntity? UpdateGroup(GroupLocalEntity updatedGroup); GroupLocalEntity? GetGroupById(int groupId); GroupLocalEntity? CreateGroup(GroupLocalEntity newGroup); diff --git a/Data/Repository/UserRepositorylmpl.cs b/Data/Repository/UserRepositorylmpl.cs index 3b0bfef..10b5b2c 100644 --- a/Data/Repository/UserRepositorylmpl.cs +++ b/Data/Repository/UserRepositorylmpl.cs @@ -3,7 +3,7 @@ using Demo.Data.LocalData; namespace Demo.Data.Repository { - public class UserRepositoryImpl + public class UserRepositoryImpl : IUserRepository { public UserRepositoryImpl() { @@ -12,7 +12,7 @@ namespace Demo.Data.Repository public List GetAllUsers { get; set; } - public List GeAllUser(){ + public List GetAllUser(){ return GetAllUsers; } diff --git a/Demo.csproj b/Demo.csproj index 6f10314..28a3ec0 100644 --- a/Demo.csproj +++ b/Demo.csproj @@ -11,4 +11,8 @@ + + + + \ No newline at end of file diff --git a/Domain/UseCase/GroupUseCase.cs b/Domain/UseCase/GroupUseCase.cs index 9840676..6b3853c 100644 --- a/Domain/UseCase/GroupUseCase.cs +++ b/Domain/UseCase/GroupUseCase.cs @@ -3,7 +3,7 @@ using Demo.Data.Repository; namespace Demo.Domain.UseCase { - public class GroupUseCase + public class GroupUseCase : IGroupUseCase { private readonly IUserRepository _repositoryUserImpl; private readonly IGroupRepository _repositoryGroupImpl; @@ -16,7 +16,7 @@ namespace Demo.Domain.UseCase public List GetAllGroups() => _repositoryGroupImpl.GetAllGroup() .Select(it => new Group{ID = it.ID, Name = it.Name}).ToList(); - public bool CreateNewGroup(Group group){ + public bool CreateGroup(Group group){ GroupLocalEntity? groupLocalEntity = new GroupLocalEntity{ID = group.ID, Name = group.Name}; _repositoryGroupImpl.CreateGroup(groupLocalEntity); if (groupLocalEntity != null) return false; @@ -42,8 +42,8 @@ namespace Demo.Domain.UseCase }; } - public bool RemoveUserByGuid(Guid userGuid) { - return _repositoryUserImpl.RemoveUserByGuid(userGuid); + public bool RemoveGroupByID(int userID) { + return _repositoryGroupImpl.RemoveGroupByID(userID); } public Group GetGroupById(int groupID) diff --git a/Domain/UseCase/IGroupUseCase.cs b/Domain/UseCase/IGroupUseCase.cs index 03daa67..6916406 100644 --- a/Domain/UseCase/IGroupUseCase.cs +++ b/Domain/UseCase/IGroupUseCase.cs @@ -5,9 +5,9 @@ namespace Demo.Domain.UseCase public interface IGroupUseCase { List GetAllGroups(); - bool RemoveUserByGuid(Guid userGuid); + bool RemoveGroupByID(int groupID); Group UpdateGroup(Group group); - GroupLocalEntity GetGroupById(int groupId); + Group GetGroupById(int groupID); bool CreateGroup(Group group); } } \ No newline at end of file diff --git a/Domain/UseCase/UserUseCase.cs b/Domain/UseCase/UserUseCase.cs index b0fdb5e..f4d16a4 100644 --- a/Domain/UseCase/UserUseCase.cs +++ b/Domain/UseCase/UserUseCase.cs @@ -3,7 +3,7 @@ using Demo.Data.Repository; namespace Demo.Domain.UseCase { - public class UserUseCase + public class UserUseCase : IUserUseCase { private readonly IUserRepository _repositoryUserImpl; private readonly IGroupRepository _repositoryGroupImpl; @@ -14,7 +14,7 @@ namespace Demo.Domain.UseCase _repositoryUserImpl = repositoryUserImpl; } - private List GetAllGroups() => _repositoryGroupImpl.GetAllGroup() + public List GetAllGroups() => _repositoryGroupImpl.GetAllGroup() .Select(it => new Group{ID = it.ID, Name = it.Name}).ToList(); public List GetAllUsers() => _repositoryUserImpl.GetAllUser() diff --git a/Program.cs b/Program.cs index 6a7bb6f..43970eb 100644 --- a/Program.cs +++ b/Program.cs @@ -1,10 +1,18 @@ using Demo.Data.Repository; using Demo.Domain.UseCase; using Demo.UI; +using Microsoft.Extensions.DependencyInjection; -GroupRepositoryImpl _groupRepositoryImpl = new GroupRepositoryImpl(); -UserRepositoryImpl _userRepositoryImpl = new UserRepositoryImpl(); -UserUseCase _userUseCase = new UserUseCase(_groupRepositoryImpl, _userRepositoryImpl); -GroupUseCase _groupUseCase = new GroupUseCase(_groupRepositoryImpl, _userRepositoryImpl); +IServiceCollection services = new ServiceCollection(); -MainMenuUI mainMenuUI = new MainMenuUI(_userUseCase, _groupUseCase); \ No newline at end of file + services + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton() + .AddSingleton(); + + var serviceProvider = services.BuildServiceProvider(); + + MainMenuUI? mainMenuUI = serviceProvider.GetService(); \ No newline at end of file diff --git a/UI/MainMenu.cs b/UI/MainMenu.cs index caa6ef9..5cfabff 100644 --- a/UI/MainMenu.cs +++ b/UI/MainMenu.cs @@ -9,7 +9,7 @@ namespace Demo.UI UserConsoleUI _userConsoleUI; GroupConsoleUI _groupConsoleUI; - public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase) { + public MainMenuUI(IUserUseCase userUseCase, IGroupUseCase groupUseCase) { _userConsoleUI = new UserConsoleUI(userUseCase); _groupConsoleUI = new GroupConsoleUI(groupUseCase); DisplayMenu(); diff --git a/UI/UserConsole.cs b/UI/UserConsole.cs index c98dea3..2dae6a6 100644 --- a/UI/UserConsole.cs +++ b/UI/UserConsole.cs @@ -6,8 +6,8 @@ namespace Demo.UI { public class UserConsoleUI { - UserUseCase _userUseCase; - public UserConsoleUI(UserUseCase userUseCase) { + IUserUseCase _userUseCase; + public UserConsoleUI(IUserUseCase userUseCase) { _userUseCase = userUseCase; } @@ -52,8 +52,8 @@ namespace Demo.UI public class GroupConsoleUI { - GroupUseCase _groupUseCase; - public GroupConsoleUI(GroupUseCase groupUseCase){ + IGroupUseCase _groupUseCase; + public GroupConsoleUI(IGroupUseCase groupUseCase){ _groupUseCase = groupUseCase; } @@ -67,7 +67,7 @@ namespace Demo.UI } public void CreateNewGroup(Group group){ - string output = _groupUseCase.CreateNewGroup(group) ? "Пользователь создан" : "Пользователь не создан"; + string output = _groupUseCase.CreateGroup(group) ? "Пользователь создан" : "Пользователь не создан"; } public void UpdateGroupName(Group group) diff --git a/bin/Debug/net8.0/Demo.deps.json b/bin/Debug/net8.0/Demo.deps.json index 34d15c4..f594bd8 100644 --- a/bin/Debug/net8.0/Demo.deps.json +++ b/bin/Debug/net8.0/Demo.deps.json @@ -7,9 +7,31 @@ "targets": { ".NETCoreApp,Version=v8.0": { "Demo/1.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1" + }, "runtime": { "Demo.dll": {} } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } } } }, @@ -18,6 +40,20 @@ "type": "project", "serviceable": false, "sha512": "" + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" } } } \ No newline at end of file diff --git a/bin/Debug/net8.0/Demo.dll b/bin/Debug/net8.0/Demo.dll index 6f43a2d..9120ffd 100644 Binary files a/bin/Debug/net8.0/Demo.dll and b/bin/Debug/net8.0/Demo.dll differ diff --git a/bin/Debug/net8.0/Demo.pdb b/bin/Debug/net8.0/Demo.pdb index f6e89c1..6908802 100644 Binary files a/bin/Debug/net8.0/Demo.pdb and b/bin/Debug/net8.0/Demo.pdb differ diff --git a/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100755 index 0000000..81ed3de Binary files /dev/null and b/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll b/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll new file mode 100755 index 0000000..bd71a2b Binary files /dev/null and b/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll differ diff --git a/obj/Debug/net8.0/Demo.AssemblyInfo.cs b/obj/Debug/net8.0/Demo.AssemblyInfo.cs index d2b665f..032a045 100644 --- a/obj/Debug/net8.0/Demo.AssemblyInfo.cs +++ b/obj/Debug/net8.0/Demo.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Demo")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+26da83afbacb32e0747365acef2fa22c2343aec8")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+efdaa788226f9fa951e2ae58165ff21fe7ad3343")] [assembly: System.Reflection.AssemblyProductAttribute("Demo")] [assembly: System.Reflection.AssemblyTitleAttribute("Demo")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache b/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache index d9b5ded..3d721d6 100644 --- a/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache +++ b/obj/Debug/net8.0/Demo.AssemblyInfoInputs.cache @@ -1 +1 @@ -43ed596f37cf9f6f3388e175e6bccefd2309a85ded3d7b3c846b1dde41f188e3 +48f599dad06dd9ec07676f26c2418560d03b7411954018e21ccf3036a6416f34 diff --git a/obj/Debug/net8.0/Demo.assets.cache b/obj/Debug/net8.0/Demo.assets.cache index 34a8b6f..f1bed99 100644 Binary files a/obj/Debug/net8.0/Demo.assets.cache and b/obj/Debug/net8.0/Demo.assets.cache differ diff --git a/obj/Debug/net8.0/Demo.csproj.AssemblyReference.cache b/obj/Debug/net8.0/Demo.csproj.AssemblyReference.cache new file mode 100644 index 0000000..d18caa6 Binary files /dev/null and b/obj/Debug/net8.0/Demo.csproj.AssemblyReference.cache differ diff --git a/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache b/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache index 81e4df8..1985122 100644 --- a/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache +++ b/obj/Debug/net8.0/Demo.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -05407eb2645f69ef3210525c6e96fe1840a0c5f34e2e112238637ba9ea98449a +73b1ce81cd1614d1fb79d966e9c834dbbfe2456209fddcd2419a154a7bcb8cef diff --git a/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt b/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt index e81eca2..9ed2e24 100644 --- a/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt +++ b/obj/Debug/net8.0/Demo.csproj.FileListAbsolute.txt @@ -12,3 +12,7 @@ /Users/rinchi/VSCodeProjects/Demo/obj/Debug/net8.0/Demo.pdb /Users/rinchi/VSCodeProjects/Demo/obj/Debug/net8.0/Demo.genruntimeconfig.cache /Users/rinchi/VSCodeProjects/Demo/obj/Debug/net8.0/ref/Demo.dll +/Users/rinchi/VSCodeProjects/Demo/obj/Debug/net8.0/Demo.csproj.AssemblyReference.cache +/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll +/Users/rinchi/VSCodeProjects/Demo/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll +/Users/rinchi/VSCodeProjects/Demo/obj/Debug/net8.0/Demo.csproj.Up2Date diff --git a/obj/Debug/net8.0/Demo.csproj.Up2Date b/obj/Debug/net8.0/Demo.csproj.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/obj/Debug/net8.0/Demo.dll b/obj/Debug/net8.0/Demo.dll index 6f43a2d..9120ffd 100644 Binary files a/obj/Debug/net8.0/Demo.dll and b/obj/Debug/net8.0/Demo.dll differ diff --git a/obj/Debug/net8.0/Demo.pdb b/obj/Debug/net8.0/Demo.pdb index f6e89c1..6908802 100644 Binary files a/obj/Debug/net8.0/Demo.pdb and b/obj/Debug/net8.0/Demo.pdb differ diff --git a/obj/Debug/net8.0/ref/Demo.dll b/obj/Debug/net8.0/ref/Demo.dll index a99c3f0..891d5a3 100644 Binary files a/obj/Debug/net8.0/ref/Demo.dll and b/obj/Debug/net8.0/ref/Demo.dll differ diff --git a/obj/Debug/net8.0/refint/Demo.dll b/obj/Debug/net8.0/refint/Demo.dll index a99c3f0..891d5a3 100644 Binary files a/obj/Debug/net8.0/refint/Demo.dll and b/obj/Debug/net8.0/refint/Demo.dll differ diff --git a/obj/Demo.csproj.nuget.dgspec.json b/obj/Demo.csproj.nuget.dgspec.json index 3e7a41d..fa8484b 100644 --- a/obj/Demo.csproj.nuget.dgspec.json +++ b/obj/Demo.csproj.nuget.dgspec.json @@ -42,6 +42,12 @@ "frameworks": { "net8.0": { "targetAlias": "net8.0", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": { + "target": "Package", + "version": "[8.0.1, )" + } + }, "imports": [ "net461", "net462", diff --git a/obj/project.assets.json b/obj/project.assets.json index 2258cb4..de5addc 100644 --- a/obj/project.assets.json +++ b/obj/project.assets.json @@ -1,11 +1,114 @@ { "version": 3, "targets": { - "net8.0": {} + "net8.0": { + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "compile": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + } + } + } + }, + "libraries": { + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "sha512": "BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "sha512": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + } }, - "libraries": {}, "projectFileDependencyGroups": { - "net8.0": [] + "net8.0": [ + "Microsoft.Extensions.DependencyInjection >= 8.0.1" + ] }, "packageFolders": { "/Users/rinchi/.nuget/packages/": {} @@ -48,6 +151,12 @@ "frameworks": { "net8.0": { "targetAlias": "net8.0", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": { + "target": "Package", + "version": "[8.0.1, )" + } + }, "imports": [ "net461", "net462", diff --git a/obj/project.nuget.cache b/obj/project.nuget.cache index ef7c819..b991f1c 100644 --- a/obj/project.nuget.cache +++ b/obj/project.nuget.cache @@ -1,8 +1,11 @@ { "version": 2, - "dgSpecHash": "cqUSRourbns=", + "dgSpecHash": "CV56+lALKGE=", "success": true, "projectFilePath": "/Users/rinchi/VSCodeProjects/Demo/Demo.csproj", - "expectedPackageFiles": [], + "expectedPackageFiles": [ + "/Users/rinchi/.nuget/packages/microsoft.extensions.dependencyinjection/8.0.1/microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512", + "/Users/rinchi/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/8.0.2/microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" + ], "logs": [] } \ No newline at end of file