Я столкнулся с очень странной ошибкой, которую сузил до определенного c сценария, но из-за потенциального воздействия мне нужно попытаться выяснить, почему.
Приложение A v 1.0, созданное для .NET 4.7.2
, отлично работает на Windows Server 2012 R2
Приложение A v 2.0, также построенное для .NET 4.7.2
, но теперь использование общей библиотеки .Net Standard 2.0
внезапно вызывает сбой стека tcp (особенно всех Не удается разрешить DNS, даже внутренние адреса)
Эта ошибка возникает только на 2012 R2
. 2016
работает просто отлично. Эта ошибка возникает даже в том случае, если включена только сборка для разделяемой библиотеки, не объявлены реальные экземпляры или не сделаны ссылки, даже оператор using, просто наличие разделяемой библиотеки в зависимостях вызывает это.
За пределами приложения разрешение DNS работает нормально. FusionLogs функционально идентичны между тем, что загружается на моем Windows 10 machine
и тем, что загружается на 2012 R2
. Единственное отличие состоит в том, что имена зашифрованных папок для загруженных собственных изображений.
Вот список всех соответствующих зависимостей из общей библиотеки
BouncyCastle.Crypto v 1.8.5:
Org.BouncyCastle.Crypto.Parameters;
Org.BouncyCastle.OpenSsl;
Org.BouncyCastle.Security;
Common.Logging v 3.4.1:
DnsClient v 1.2.0:
Microsoft.CSharp v 4.7.0:
Mimekit v 2.4.1:
NewtonSoft.Json v 12.0.1:
System v 4.0.0.0:
System.Collections.Generic;
System.Collections.Concurrent;
System.IO;
System.IO.Compression.FileSystem;
System.Drawing;
System.Numerics;
System.Runtime.Serialization;
System.Net;
System.Net.Http;
System.Net.Http.Headers;
System.Security.Cryptography;
System.Text;
System.Threading;
System.Threading.Tasks;
System.Xml;
Исключение:
17:16:21 [1] [Info] - DNS Query against 'google.com'
Unhandled Exception: System.Net.Sockets.SocketException: No such host is known
at System.Net.Dns.GetAddrInfo(String name)
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
at System.Net.Dns.GetHostEntry(String hostNameOrAddress)
at DNSAPITestApp.Tester..ctor() in ...
at DNSAPITestApp.Program.Main(String[] args) in ...
Я интенсивно искал в Интернете, однако слишком много белого шума от подобных проблем DNS, которые все еще не имеют ничего общего с этим конкретным сценарием c или с тем, почему это может происходить (и не менее важно, как подтвердить любые теории).
Любая помощь будет принята с благодарностью. Я не могу опубликовать большую часть кода, но если есть какие-то определенные области c, где используется определенная зависимость, которую любой хотел бы видеть, я могу добавить фрагменты.