Я новичок в .NET Core и пытаюсь написать веб-службу с использованием .NET Core Web API в проекте. Другие подпроекты написаны на .NET Framework 4.5. Существует проект для слоя репозитория. Мне нужно получить все записи, используя репозиторий в проекте .NET Core Web API. Я добавил ссылку на проект репозитория в проект .Net Core Web API. Итак, для внедрения зависимостей; в седьмой Startup.cs ConfigureService я добавил следующее;
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
services.AddSingleton(typeof(IRepository<>), typeof(RepositoryBase<>));
}
Я попытался перечислить все записи с помощью следующего метода в соответствующем контроллере;
[HttpGet]
[Route("Book/GetAll")]
public IActionResult GetAllRecords()
{
return Ok(_bookRepository.GetAll());
}
Когда я вызываю это действие через веб-браузер, я получаю следующее сообщение об ошибке;
> System.IO.FileLoadException: Could not load file or assembly
> 'System.Core, Version=4.0.0.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089'. The located assembly's manifest
> definition does not match the assembly reference. (Exception from
> HRESULT: 0x80131040) File name: 'System.Core, Version=4.0.0.0,
> Culture=neutral, PublicKeyToken=b77a5c561934e089'
> at BookApi.Startup.ConfigureServices(IServiceCollection services) --- End of stack trace from previous location where
> exception was thrown ---
> at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
> at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection
> services)
> at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices()
> at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
Не могли бы вы помочь мне, что это значит? Я проверил dll GAC с помощью следующей команды;
C:\Windows\System32>gacutil /l | find /i "system.core"
> System.Core, Version=3.5.0.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL
> System.Core.resources, Version=3.5.0.0, Culture=tr,
> PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL
> System.Core, Version=4.0.0.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL
> System.Core.resources, Version=4.0.0.0, Culture=tr,
> PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL
Кажется, существует System.Core.dll версии 4.0.0.0. Я использую Visual Studio 2017 версии 15.2. Кроме того, я не уверен, содержит ли файл appsettings.json необходимые объявления. Не могли бы вы также объяснить формат appsettings.json?
Спасибо за ответы..