Ai
2 Star 8 Fork 6

CookCSharp/CookPopularInstaller

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
App.xaml.cs 2.82 KB
一键复制 编辑 原始数据 按行查看 历史
写代码的厨子 提交于 2025-05-30 17:49 +08:00 . 完成CookPopularInstaller.Generate
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using CookPopularInstaller.Generate.Models;
//using Microsoft.VisualBasic.ApplicationServices;
using CookPopularInstaller.Generate.Views;
using CookPopularInstaller.Toolkit;
using CookPopularInstaller.Toolkit.Helpers;
using Prism.Events;
using Prism.Ioc;
using Unity;
using Unity.Injection;
using Unity.Lifetime;
using Unity.Resolution;
namespace CookPopularInstaller.Generate
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
public static readonly string PackageJsonFileName = "package.json";
private static readonly Lazy<IUnityContainer> _container = new Lazy<IUnityContainer>(() => new UnityContainer());
public static IUnityContainer Container => _container.Value;
public App()
{
this.InitializeComponent();
this.Startup += (s, e) => RegisterTypes();
Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
}
private void RegisterTypes()
{
//new InjectionMember[] { new InjectionConstructor() }
//Container.RegisterSingleton<ViewModels.ViewModelBase>(new InjectionMember[] { new InjectionMethod("GetEventAggregator") });
Container.RegisterSingleton<IEventAggregator, EventAggregator>();
Container.Register<MainView>();
Container.RegisterInstance<UserControl>(typeof(ProjectView).Name, Container.Resolve<ProjectView>());
Container.RegisterInstance<UserControl>(typeof(ConfuseView).Name, Container.Resolve<ConfuseView>());
Container.RegisterInstance<UserControl>(typeof(DependsView).Name, Container.Resolve<DependsView>());
Container.RegisterInstance<UserControl>(typeof(ExtensionsView).Name, Container.Resolve<ExtensionsView>());
Container.RegisterInstance<UserControl>(typeof(BuildView).Name, Container.Resolve<BuildView>());
//Container.RegisterSingleton<UserControl, ProjectView>(typeof(ProjectView).Name);
//Container.RegisterType<UserControl, BuildView>(typeof(BuildView).Name, new ContainerControlledLifetimeManager());
}
public static void SavePackageFile(PackageInfo package)
{
string suffixName = string.Empty;
if (string.IsNullOrEmpty(package.Project.PackageName))
suffixName = "default";
else
suffixName = package.Project.PackageName.Split('.', '-')[0];
JsonHelper.WriteJsonFile(package, Path.Combine(Environment.CurrentDirectory, PackageJsonFileName));
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/CookCSharp/CookPopularInstaller.git
git@gitee.com:CookCSharp/CookPopularInstaller.git
CookCSharp
CookPopularInstaller
CookPopularInstaller
master

搜索帮助