Есть библиотека MultiThreadedDownloaderLib (самопал). В ней есть класс FileDownloader:
namespace MultiThreadedDownloaderLib
{
public sealed class FileDownloader : IDisposable
{
...
public WebHeaderCollection Headers { get; set; } = new WebHeaderCollection();
...
}
}
Собираем пакет NuGet и подключаем его к стороннему проекту:
namespace ConsoleApp8
{
internal class Program
{
static void Main(string[] args)
{
FileDownloader d = new FileDownloader();
System.Diagnostics.Debug.WriteLine(d.Headers);
}
}
}
Работает, не крашится.
Но если подключить её вот к этому проекту: https://github.com/BlackMightyRavenDark/HlsDumpLib, то начинает крашиться при обращении к свойству Headers.
Для простоты понимания, допустим, что в HlsDumpLib есть класс ClassBug:
namespace HlsDumpLib
{
public class ClassBug
{
public void OOO()
{
FileDownloader d = new FileDownloader();
System.Diagnostics.Debug.WriteLine(d.Headers);
}
}
}
Произойдет следующее:
То есть, дебаггер даже не заходит в метод. Ошибка сразу же при нажатии
F11.А если попытаться присвоить значение:
public void OOO()
{
FileDownloader d = new FileDownloader();
d.Headers = new System.Net.WebHeaderCollection();
System.Diagnostics.Debug.WriteLine(d.Headers);
}
}
то такая ошибка:
Тоже без захода в метод.
Если в солюшене
HlsDumpLib создать ещё одну библиотеку и в ней обращаться к свойству - будут те же ошибки.Не пойму, что не так с солюшеном
HlsDumpLib. Все зависимости на месте, вроде. В тесте внутри солюшена с библиотекой MultiThreadedDownloaderLib - работает.Ещё в классе
FileDownloader есть свойства Cookies и Proxy:
public WebHeaderCollection Headers { get; set; } = new WebHeaderCollection();
public CookieContainer Cookies { get; set; }
public WebProxy Proxy { get; set; }
Они работают нормально. При обращении к ним ошибки нет. А почему к свойству Headers нельзя обращаться? ![]()

