У меня есть простое консольное приложение, ориентированное на .netcoreapp3.1 и имеющее FrameworkReference для Microsoft.AspNetCore.App.
На моей машине установлено ASP. NET Core Runtime 3.1.3.
Вывод из dotnet --info
:
Microsoft.AspNetCore.App 3.1.3 [C: \ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.App]
При ссылке на пакет в версии 3.1.0
, .dll которого является частью Microsoft.AspNetCore.App, этот .dll не выводится при сборке проекта - например, при обращении к пакету Microsoft.Extensions.Logging .Abstractions, его .dll нет в папке сборки. Во время выполнения фактический загруженный файл поступает по пути, по которому установлен Microsoft.AspNetCore.App 3.1.3 (упомянуто выше).
При обращении к тому же пакету в версии 3.1.3
его файл .dll выводится в создать папку. Когда я удаляю этот .dll и запускаю приложение, происходит сбой со следующей ошибкой:
Error:
An assembly specified in the application dependencies manifest (TestReferences.deps.json) was not found:
package: 'Microsoft.Extensions.Logging.Abstractions', version: '3.1.3'
path: 'lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll'
Почему пакет, на который ссылается версия 3.1.0
, загружается из Microsoft.AspNetCore.App 3.1.3
, но при обращении к версии 3.1.3
не найден?
Как заставить. NET использовать .dll в Microsoft.AspNetCore.App 3.1.3
?