【问题标题】:Check if SignalR assembly exists or not检查 SignalR 程序集是否存在
【发布时间】:2015-04-11 20:45:11
【问题描述】:

如何检查 SignalR 程序集是否存在以避免此错误:

无法加载文件或程序集“Microsoft.AspNet.SignalR.Core, 版本=2.2.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35'

我想在 SignalR dll 存在时运行一个方法。我有这个代码,但它总是false

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

什么是最好的解决方案?

【问题讨论】:

    标签: c# asp.net .net signalr


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-10
      • 2011-02-06
      • 2011-08-02
      相关资源
      最近更新 更多