2015-04-11 5 views
0

Как я могу проверить, если SignalR узел существует или нет, чтобы избежать этой ошибки:Проверьте SignalR узел существует или нет

Could not load file or assembly 'Microsoft.AspNet.SignalR.Core, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

Я хочу, чтобы запустить метод, когда длл SignalR существует. У меня есть этот код, но он всегда false.

var exists = AppDomain.CurrentDomain.GetAssemblies().Any(item => item.FullName.Contains("Microsoft.AspNet.SignalR.Core")); 
if (exists) 
    AddRowSignalR(faraLog); 

Какое оптимальное решение?

ответ

1

GetAssemblies для текущего домена будет отображаться только список сборок, которые уже загружены в этот домен. Обратитесь к документации:

https://msdn.microsoft.com/en-us/library/system.appdomain.getassemblies%28v=vs.110%29.aspx

сборка не будет автоматически загружаться до тех пор, типа из этой сборки не упоминаются в исполняемом коде. Если вы хотите загрузить сборку без (первой) ссылки на любые типы из этой сборки в коде напрямую, вам необходимо использовать метод Assembly.Load. См. Документацию, особенно пример внизу:

https://msdn.microsoft.com/en-us/library/25y1ya39%28v=vs.110%29.aspx

Смежные вопросы