Пытаюсь запилить небольшое апи в настольное приложение .net472
https://docs.microsoft.com/en-us/aspnet/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api
Пакет Microsoft.AspNet.WebApi.OwinSelfHost
почему-то из bin библиотеки с вебапи не копирует в bin приложения
файл Microsoft.Owin.Host.HttpListener.dll из пакета.
Можно ли в csproj библиотеки настроить чтобы копировался в bin приложения?
Уточнение.
Проблема действительно существует в старом фрэйворке(в корке норм).
Ошибка Microsoft.Owin.Host.HttpListener не найден указывает, что объект создается через рефлексию,
а следовательно не имеет явной ссылки в коде на библиотеку.
Поэтому то и не копируется, придется мутить build Task-у.
Решение:
тип работы с нугетом не влияет
хоть package.json хоть ref-proj
CopyLocal и
даже совет интернет-гуру
<PropertyGroup>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
в итоге в библиотеке добавил код:
try
{
Microsoft.Owin.Host.HttpListener.OwinServerFactory.Initialize(null);
}
catch { }
компилятор видимо шибко умный, нет явной ссылки из код выкину нафиг.
да nameof не спас, видимо преобразует в константу.