Исключение сборки в проекте ASP.Net Core Angular - PullRequest
0 голосов
/ 03 мая 2018

У меня есть веб-приложение 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) (для целей контроля версий).

1 Ответ

0 голосов
/ 20 мая 2018

Отключите сборку времени выполнения, специфичную для выполнения, добавив следующее в ваш project.json под "frameworks":

"System.ComponentModel.Primitives": {
  "version": "4.1.0", // or whatever version you have
  "exclude": "runtime"
},

Это обходной путь. Это происходит потому, что специфичная для платформы версия System.ComponentModel.Primitives еще не выпущена для каждой платформы - например, Ubuntu. Подробнее здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...