Не удалось найти файл метаданных при публикации основного приложения asp.net

У меня есть проект, ориентированный на .NET Core 2.1, в котором есть ссылка на проект, ориентированный на .NET Standard 2.0.

Все компилируется и работает нормально, но когда я пытаюсь опубликовать, происходит сбой с этой ошибкой:

Файл метаданных «C:\projects\asp.net\Имя проекта\Имя проекта.BusinessLogic\bin\Release\netcoreapp2.1\Имя проекта.BusinessLogic.dll» не найден

Похоже, он ищет несуществующий каталог \netcoreapp2.1\ вместо \netstandard2.0\, где на самом деле находится dll.

Я думаю, что для построения пути может использоваться цель ссылочного проекта, а не цель ссылочного проекта, но я могу ошибаться.


person ghosttie    schedule 18.07.2018    source источник
comment
Я бы заглянул в ваш файл .csproj и посмотрел, есть ли там что-то особенное. Может быть, это ссылка на dll напрямую, а не на проект, или, может быть, там есть HintPath, который отбрасывает его (у меня был такой пару раз)   -  person Scott Bamforth    schedule 19.07.2018
comment
Спасибо, но нет, это ProjectReference и нет HintPaths   -  person ghosttie    schedule 19.07.2018


Ответы (1)


Похоже, это ошибка (#9690) в версии 2.1, которая может исправлено в v2.2.1

Обходной путь — удалить тег TargetFramework из файла Properties\PublishProfiles\‹profile›.pubxml.

person ghosttie    schedule 03.08.2018