static void Main(string[] args) { Assembly[] ass = AssemblyDiscovery.Discovery(); IServiceCollection sc = new ServiceCollection(); sc.AddScanServices(); var hostingServiceProvider = sc.BuildServiceProvider(); IServiceTest t = hostingServiceProvider.GetService <IServiceTest>(); t.TestM(); IEnumerable <AbstractTest> t1 = hostingServiceProvider.GetServices <AbstractTest>(); foreach (var item in t1) { item.M(); } IGenericTest <AbstractImpTest> t2 = hostingServiceProvider.GetService <IGenericTest <AbstractImpTest> >(); Console.WriteLine("Hello World!"); }
public GeneratorDesignerView() { InitializeComponent(); _assemblyDiscovery = new AssemblyDiscovery(); ButtonCreateGenerator.Click += ButtonCreateGenerator_Click; ButtonCheckGenerator.Click += ButtonCheckGenerator_Click; }
public override List <dynamic> DetectEntityMapping() { var assemblyHelper = new AssemblyDiscovery("AhmadAghazadeh*.dll"); var getTypes = assemblyHelper.DiscoverTypes <IEntityMapping>("AhmadAghazadeh") .Select(Activator.CreateInstance) .Cast <dynamic>() .ToList(); return(getTypes); }
protected List <dynamic> DetectEntityMapping() { var assemblyHelper = new AssemblyDiscovery("HR*.dll"); var getType = assemblyHelper.DiscoverTypes <IEntityMapping>("HR") .Select(Activator.CreateInstance) .Cast <dynamic>() .ToList(); return(getType); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); var assemblyDiscovery = new AssemblyDiscovery("HR*.dll"); var registrars = assemblyDiscovery.DiscoverInstance <IRegistrar>("HR").ToList(); foreach (var registrar in registrars) { registrar.Register(services, assemblyDiscovery);; } services.AddDbContext <IDbContext, HRDbContext>(op => { op.UseSqlServer("Data Source=localhost;Initial Catalog=HR;Integrated Security=True"); }); services.AddControllersWithViews(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var assemblyHelper = new AssemblyDiscovery("AhmadAghazadeh*.dll"); var builder = new ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) .AddJsonFile("appsettings.json", true, true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", true, true); var build = builder.Build(); var connectionString = build.GetConnectionString("DefaultConnection"); Registrar(services, env, assemblyHelper); services.AddControllers(); services.AddMvc(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Shop Service", Version = "v1" }); }); services.AddDbContext <IDbContext, ShopDbContext>((provider, options) => { options.UseSqlServer(connectionString); options.EnableSensitiveDataLogging(); }); using (var serviceProvider = services.BuildServiceProvider()) { var dbContext = serviceProvider.GetRequiredService <IDbContext>(); if (env.IsDevelopment() == false) { dbContext.Migrate(); } } }
private void RefreshUnits() { var process = new StatusProcess(); bool discoverResult = false; var discovery = new AssemblyDiscovery(); process.StartOperation(() => { discoverResult = discovery.DiscoverAppliedAssemblies(ConfigId()); }); process.EndOperation(); if (!discoverResult) { MessageBox.Show(string.Format("Не найдены прикладные сборки.\n\rКорректно укажите в App.config параметр AppliedAssemblies для указания местоположения прикладных сборок: \n\rТекущее значение параметра: {0}", AppDomain.CurrentDomain.BaseDirectory)); return; } ComboBoxScenarioIdentifier.Properties.Items.Clear(); ComboBoxScenarioIdentifier.Properties.Items.AddRange( ViewModelExtension.BuildScripts(discovery.SourceAssemblyList) .BuildImageComboBoxItems() .ToList()); }
private static void Registrar(IServiceCollection services, IWebHostEnvironment env, AssemblyDiscovery assemblyHelper) { var builder = new ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) .AddJsonFile("appsettings.json", true, true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", true, true); var build = builder.Build(); var connectionString = build.GetConnectionString("DefaultConnection"); var registrars = assemblyHelper.DiscoverInstances <IRegistrar>("AhmadAghazadeh"); foreach (IRegistrar registrar in registrars) { registrar.Register(services, assemblyHelper); } services.AddDbContext <ShopContext>(op => { op.UseSqlServer(connectionString); op.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking); }); }