Работа в Visual Studio 2019, запуск проекта в IisEpxress
Я пытаюсь обновить все проекты в решении с. NET Core 2.2 до 3.1. Я изменил версии и обновил пакеты NuGet, например, EntityFrameworkCore (этот perticular до 3.1.5).
Короче говоря, проблема в том, что когда я запускаю свой обновленный ASP. NET Core Web Проект API Я получаю эту ошибку:
TypeLoadException: не удалось загрузить тип WE.GPR.Connections.Common.DomainEntity из сборки WE.GPR.Connections.Common, Version = 1.0.22.0, Культура = нейтральный, PublicKeyToken = null '. Неизвестное местоположение
Странно то, что модель «DomainEntity» находится в пространстве имен «WE.GPR.Connections.Common.Models.DomainEntity». Значит, он смотрит не в том месте. Но когда я создаю свое решение, я не получаю ошибок.
Версия этого решения, которая была запущена. NET Core 2.2 не имела этой проблемы.
Я проделал тот же процесс обновления для другое решение, использующее тот же проект WE.GPR.Connections.Common. Все прошло нормально, ничего похожего на эти ошибки.
Это немного сложное решение с подмодулями и настраиваемыми пакетами NuGet из нашего собственного канала, объединенными следующим образом:
Root
- Проект 1
- Пользовательский пакет NuGet *
- Проект 2
- Ссылка на проект подмодуля 3
Подмодули
* этот проект пакета nuget также имеет тот же проект 3, что и подмодуль
Итак Мое первое предположение заключалось в том, что пакет NuGet все испортил, так как это единственное, что отличалось от моего другого решения, которое я могу успешно обновить до версии 3.1 (последнее упомянутое решение было фактически тем решением, которое создало этот пакет NuGet).
Итак, я превратил подмодуль в другой пакет NuGet, но проблема осталась.
Я также удалил всю папку с решением из моей локальной системы и снова клонировал ее.
Я даже начал da fre sh обновил из основной ветки и снова выполнил все обновления, но проблема остается.
Когда я выполняю поиск по запросу «WE.GPR.Connections.Common», я не могу найти его нигде в решение, помимо использования с .Model или другими пространствами имен, стоящими за ним.
Я потратил несколько дней на решение этой очень раздражающей проблемы.
Есть ли у вас какие-либо идеи, как подойти это следующее, потому что у меня самого закончились идеи.
Обновление
Вчера я отправил код на Azure DevOps, и при сборке возникли те же проблемы, что и я локально, так что это определенно не что-то с моей машиной.
Вот полное сообщение об ошибке:
Standard Output Messages:
Application startup exception: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load type 'WE.GPR.Connections.Common.DomainEntity' from assembly 'WE.GPR.Connections.Common, Version=1.0.22.0, Culture=neutral, PublicKeyToken=null'.
Could not load type 'WE.GPR.Connections.Common.DomainEntity' from assembly 'WE.GPR.Connections.Common, Version=1.0.22.0, Culture=neutral, PublicKeyToken=null'.
Could not load type 'WE.GPR.Connections.Common.BaseDto' from assembly 'WE.GPR.Connections.Common, Version=1.0.22.0, Culture=neutral, PublicKeyToken=null'.
Could not load type 'WE.GPR.Connections.Common.BaseDto' from assembly 'WE.GPR.Connections.Common, Version=1.0.22.0, Culture=neutral, PublicKeyToken=null'.
Could not load type 'WE.GPR.Connections.Common.BaseDto' from assembly 'WE.GPR.Connections.Common, Version=1.0.22.0, Culture=neutral, PublicKeyToken=null'.
Could not load type 'WE.GPR.Connections.Common.BaseDto' from assembly 'WE.GPR.Connections.Common, Version=1.0.22.0, Culture=neutral, PublicKeyToken=null'.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeAssembly.get_DefinedTypes()
at Microsoft.AspNetCore.Mvc.ApplicationParts.AssemblyPart.get_Types()
at Microsoft.AspNetCore.Mvc.Controllers.ControllerFeatureProvider.PopulateFeature(IEnumerable`1 parts, ControllerFeature feature)
at Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager.PopulateFeature[TFeature](TFeature feature)
at Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerActionDescriptorProvider.GetControllerTypes()
at Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerActionDescriptorProvider.GetDescriptors()
at Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerActionDescriptorProvider.OnProvidersExecuting(ActionDescriptorProviderContext context)
at Microsoft.AspNetCore.Mvc.Infrastructure.DefaultActionDescriptorCollectionProvider.UpdateCollection()
at Microsoft.AspNetCore.Mvc.Infrastructure.DefaultActionDescriptorCollectionProvider.Initialize()
at Microsoft.AspNetCore.Mvc.Infrastructure.DefaultActionDescriptorCollectionProvider.get_ActionDescriptors()
at Microsoft.AspNetCore.Mvc.ApiExplorer.DefaultApiVersionDescriptionProvider.EnumerateApiVersions(IActionDescriptorCollectionProvider actionDescriptorCollectionProvider)
at Microsoft.AspNetCore.Mvc.ApiExplorer.DefaultApiVersionDescriptionProvider.LazyApiVersionDescriptions.EnumerateApiVersions()
at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy`1.CreateValue()
at System.Lazy`1.get_Value()
at Microsoft.AspNetCore.Mvc.ApiExplorer.DefaultApiVersionDescriptionProvider.get_ApiVersionDescriptions()
at WE.UserPortal.Api.Startup.<>c__DisplayClass5_0.<Configure>b__0(SwaggerUIOptions options) in D:\a\1\s\WE.UserPortal.Api\Startup.cs:line 130
at Microsoft.AspNetCore.Builder.SwaggerUIBuilderExtensions.UseSwaggerUI(IApplicationBuilder app, Action`1 setupAction)
at WE.UserPortal.Api.Startup.Configure(IApplicationBuilder app, IHostEnvironment env, IApiVersionDescriptionProvider provider) in D:\a\1\s\WE.UserPortal.Api\Startup.cs:line 127
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
at Microsoft.Extensions.DependencyInjection.AutoRegisterMiddleware.<>c__DisplayClass4_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.WebHost.BuildApplication()