У меня есть веб-приложение ASP.NET Core Angular. Я создал этот проект с угловым шаблоном Visual studio 2017. Я сделал очень простое приложение с новейшими зависимостями:
- Microsoft.AspNetCore.All (2.0.7) как NuGET
- Microsoft.NETCore.App (2.0.0) как SDK
Мы можем построить приложение, но при отладке мы встречаем исключение, как показано ниже:
System.IO.FileLoadException HResult = 0x80131040 Сообщение = Не удалось
загрузить файл или сборку 'System.ComponentModel.Primitives,
Версия = 4.2.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a '.
Определение манифеста расположенной сборки не соответствует сборке
ссылка. (Исключение из HRESULT: 0x80131040)
Источник = Microsoft.Extensions.FileProviders.Physical
Вот StackTrace:
StackTrace: на Microsoft.Extensions.FileProviders.PhysicalFileProvider.CreateFileWatcher(String root)
at Microsoft.AspNetCore.Hosting.Internal.HostingEnvironmentExtensions.Initialize(IHostingEnvironment hostingEnvironment, String applicationName, String contentRootPath, WebHostOptions options) at Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices(AggregateException& hostingStartupErrors) at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build() at WebApp.Program.BuildWebHost(String[] args) in D:\Source\WebApp\Program.cs:line 21 at WebApp.Program.Main(String[] args) in D:\Source\WebApp\Program.cs:line 17
Мы попытались перейти на более старые версии ASP.NET Core и обратно. Проблема решается, но в следующий раз, когда мы открываем проект, происходит то же исключение. Мы не можем изменить версию Microsoft.NETCore.App (2.0.0) на более новые версии, потому что это
blocked by the project
.
Обратите внимание, что мы изменили расположение NugetPackages, чтобы оно находилось в определенной папке (D: \ Source \ Library) (для целей контроля версий).