检查 SignalR 程序集是否存在
Check if SignalR assembly exists or not
如何检查 SignalR 程序集是否存在以避免此错误:
Could not load file or assembly 'Microsoft.AspNet.SignalR.Core,
Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
我想运行 SignalR dll 存在时的方法。我有这个代码,但它总是 false
.
var exists = AppDomain.CurrentDomain.GetAssemblies().Any(item => item.FullName.Contains("Microsoft.AspNet.SignalR.Core"));
if (exists)
AddRowSignalR(faraLog);
什么是最好的解决方案?
当前域的 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
如何检查 SignalR 程序集是否存在以避免此错误:
Could not load file or assembly 'Microsoft.AspNet.SignalR.Core, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
我想运行 SignalR dll 存在时的方法。我有这个代码,但它总是 false
.
var exists = AppDomain.CurrentDomain.GetAssemblies().Any(item => item.FullName.Contains("Microsoft.AspNet.SignalR.Core"));
if (exists)
AddRowSignalR(faraLog);
什么是最好的解决方案?
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