System.TypeLoadException с Entity Framework 6 - PullRequest
       25

System.TypeLoadException с Entity Framework 6

0 голосов
/ 10 февраля 2020

У меня возникает следующая ошибка после того, как я развернул свой веб-сайт в IIS и попытался просмотреть страницу в браузере.

Не удалось загрузить тип 'DienstbulletinApp.DienstbulletinContext' из сборки ' DienstbulletinApp. Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.TypeLoadException: Не удалось загрузить тип 'DienstbulletinApp.DienstbulletinContext' из сборки 'DienstbulletinApp'.

Когда я запускаю свое приложение в Visual Studio 2019, я не могу эта ошибка Я удалил контексты из моего файла webconfig, но, похоже, ничто не является решением

 <contexts>
      <context type="DienstbulletinApp.DAL.DienstbulletinAppContext, DienstbulletinApp, Version=1.0.0.0, Culture=neutral">
        <databaseInitializer type="DienstbulletinApp.DAL.DienstbulletinAppInitializer, DienstbulletinApp, Version=1.0.0.0, Culture=neutral" />
      </context>
    </contexts>

DienstbulletinContext:

 public class DienstbulletinAppContext : DbContext
    {
        public DienstbulletinAppContext() : base("name=DienstbulletinDBConnectionString")
        {
            Database.SetInitializer(new DienstbulletinAppInitializer());

        }
        public DbSet<Dienstbulletin> Dienstbulletins { get; set; }
        public DbSet<Voertuig> Voertuigen { get; set; }
        public DbSet<Opdracht> Opdrachts { get; set; }
        public DbSet<DienstbulletinDetail> DienstbulletinDetails { get; set; }
        public DbSet<Locatie> Locaties { get; set; }
        public DbSet<Gebruiker> Gebruikers { get; set; }
        public DbSet<Persoon> Personen { get; set; }
        public DbSet<OpdrachtType> OpdrachtTypes { get; set; }
        public DbSet<Aandachtspunt> Aandachtspunten { get; set; }
        public DbSet<Gsm> Gsms { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Persoon>().ToTable("t_Persoon");
            modelBuilder.Entity<Voertuig>().ToTable("t_Voertuig");
            modelBuilder.Entity<Gebruiker>().ToTable("t_Gebruiker");
            modelBuilder.Entity<OpdrachtType>().ToTable("t_OpdrachtType");
            modelBuilder.Entity<Opdracht>().ToTable("t_Opdracht");
            modelBuilder.Entity<Dienstbulletin>().ToTable("t_Dienstbulletin");
            modelBuilder.Entity<DienstbulletinDetail>().ToTable("t_DienstbulletinDetail");
            modelBuilder.Entity<Locatie>().ToTable("t_Locatie");
            modelBuilder.Entity<Aandachtspunt>().ToTable("t_Aandachtspunt");
            modelBuilder.Entity<Gsm>().ToTable("t_Gsm");

            modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
        }
    }

Я использую. Net Framework версия 4.0.30319 и ASP. NET 4.7.3535.0

Я знаю, что в решении должны быть ссылки на все библиотеки DLL, но файлы, в которых я получаю сообщение об ошибке, являются моими собственными классами моего приложения.

здесь полная ошибка:

[TypeLoadException: не удалось загрузить тип 'DienstbulletinApp.DienstbulletinAppContext' из сборки 'DienstbulletinApp'.] System.RuntimeTypeHandle.GetTypeByName (имя строки, булево отражение, Boolean throwOn StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, булева loadTypeFromPartialName, тип ObjectHandleOnStack) +0 System.RuntimeTypeHandle.GetTypeByName (имя String, Boolean throwOnError, булева IgnoreCase, булева reflectionOnly, StackCrawlMark & ​​stackMark, IntPtr pPrivHostBinder, булева loadTypeFromPartialName) +95 System.Type.GetTy pe (String typeName, Boolean throwOnError) +63 System.Data.Entity.Internal.InitializerConfig.TryGetInitializer (Type requiredContextType, String contextTypeName, String initializerTypeName, логическое значение isDisabled, исключение исключения из класса Funtion: 10 * **, исключение исключения из класса Function: исключение исключения из класса [10], исключение: исключение исключений: установить инициализатор базы данных типа 'DienstbulletinApp.DienstbulletinAppInitializer, DienstbulletinApp' для типа DbContext 'DienstbulletinApp.DienstbulletinAppContext, DienstbulletinApp', указанного в конфигурации приложения. Записи должны быть в форме 'key = "DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value = "MyNamespace.MyInitializerClass, MyAssembly" "или" key = "DatabaseInitializerForType MyNamespace.MyDbContextD" значение = MySbaseseAs MySQL =. Также убедитесь, что записи DatabaseInitializerArgumentForType присутствуют для каждого параметра конструктора инициализатора базы данных. Смотрите внутреннее исключение для деталей. Попробуйте использовать раздел конфигурации для установки инициализатора базы данных (http://go.microsoft.com/fwlink/?LinkID=237468).] System.Data.Entity.Internal.InitializerConfig.TryGetInitializer (Type requiredContextType, String contextTypeName, String initializerTypeName, Boolean isDisabled, Fun c1 initializerArgs, Func 3 exceptionMessage) +327 System.Data.Entity.Internal.InitializerConfig.TryGetInitializerFromLegacyConfig (Тип contextType) +644 System.Data.Entity.Internal.InitializerConfig.TryGetInitializer (Тип contextType )Entity.itystructure.ity..Dity .DependencyResolution.AppConfigDependencyResolver.GetServiceFactory (Тип типа, имя строки) +513 System.Collections.Concurrent.ConcurrentDictionary 2.GetOrAdd(TKey key, Func 2 valueFactory) +87 System.Data.Entity.Infrastructure.DependencyResolution.vergDesignServiceResvice.AppConf_Rence +187 System.Linq.WhereSelectArrayIterator 2.MoveNext() +78 System.Linq.Enumerable.FirstOrDefault(IEnumerable 1 источник, Fun c2 predicate) +115 System.Data.Entity.Infrastructure.DependencyResolution.CompositeResolver 2.GetService (Тип типа, ключ объекта) +41 System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization () +1 59 System.Data.Entity.Internal.RetryAction 1.PerformAction(TInput input) +171 System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action 1 действие) +269 System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType (Тип entityType) +20 System.Data.Entity.Internal.Linq.InternalSet 1.Initialize() +69 System.Data.Entity.Internal.Linq.InternalSet 1 .get_InternalContext () +21 System.Data.Entity. Источник Infrastructure.DbQuery 1.System.Linq.IQueryable.get_Provider() +59 System.Linq.Queryable.FirstOrDefault(IQueryable 1, параметры Expression 1 predicate) +61 DienstbulletinApp.Controllers.GebruikerController.Login() in D:\Plastic\Dienstbulletin\Dienstbulletin\Controllers\GebruikerController.cs:24 lambda_method(Closure , ControllerBase , Object[] ) +87 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2) +35 System.Web. Mvc .Asyn c. <> c .b__9_0 (IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39 System.Web . Mvc .Asyn c .WrappedAsyncResult 2.CallEndDelegate(IAsyncResult asyncResult) +70 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42 System.Web.Mvc.Async.<>c__DisplayClass11_0.<InvokeActionMethodFilterAsynchronouslyRecursive>b__0() +80 System.Web.Mvc.Async.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2() +387 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42 System.Web.Mvc.Async.<>c__DisplayClass3_6.<BeginInvokeAction>b__4() +50 System.Web.Mvc.Async.<>c__DisplayClass3_1.<BeginInvokeAction>b__1(IAsyncResult asyncResult) +188 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38 System.Web.Mvc.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) +26 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate (IAsyncResult asyncResult) +68 System.Web. Mvc .Controller.EndExecuteCore (IAsyncResult asyncResult) *52 10.Web. 1051 * .WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +39 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38 System.Web.Mvc.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) +40 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate (IAsyncResult asyncResult) +68 System.Web. Mvc .MvcHandler.EndProcessRequest (IAsyncResult asyncResult) +38 System.Web.CallHandp.Exte.Exp.SecExPlaySecuSececSecSecsecSececutionSecu +602 System.Web.HttpApplication.ExecuteStepImpl (шаг IExecutionStep) +195 System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логический и завершенный в синхронном режиме) + 128

1 Ответ

0 голосов
/ 12 февраля 2020

Найдена ошибка удаления версии и культуры = нейтральная из контекстов, решена проблема:

<contexts>
  <context type="DienstbulletinApp.DAL.DienstbulletinAppContext, DienstbulletinApp">
    <databaseInitializer type="DienstbulletinApp.DAL.DienstbulletinAppInitializer, DienstbulletinApp" />
  </context>
</contexts>
...