代码之家  ›  专栏  ›  技术社区  ›  Peter Gfader

System.Web.dll引用System.Windows.Forms?

  •  0
  • Peter Gfader  · 技术社区  · 15 年前

    我从一个朋友那里听说asp.net依赖/使用Windows窗体类。我试图弄清楚那可能是哪一类。

    System.Web.UI.WebControls.FontInfo
    关于财产 public string[] Names
    它有一个属性 Editor("System.Windows.Forms.Design.StringArrayEditor--snip")

    5 回复  |  直到 15 年前
        1
  •  2
  •   David Silva Smith    15 年前

    我认为System.Web 2.0.0.0版与System.Windows.Forms之间有一个参考。

    查看Reflector中的System.Web.Compilation.ResXBuildProvider.GetResourceReader(流)。
    第一行: ResXResourceReader=新的ResXResourceReader(inputStream); ResXResourceReader来自System.Windows.Forms,版本2.0.0.0

    ildasm System.web.dll/out=System.web.il让我快速搜索System.Windows.Forms引用。我不能很快想出一个方法来做这件事。

        2
  •  1
  •   leppie    15 年前

    没有引用,System.Windows.Forms也没有。

    StringArrayEditor是System.Design程序集中的UITypeEditor。除非在设计时使用,否则不会加载它,此时它将是“延迟加载”。

        3
  •  1
  •   J.W.    15 年前

    但名称空间或类名并不意味着您需要对Windows.Forms.dll的引用。您可以在Windows.Forms.dll之外的程序集中定义“System.Windows.Forms.Design.StringArrayEditor”。

        4
  •  1
  •   Cheetah    15 年前

    如果您在手边查看System.Web程序集 Reflector 工具,您将看到确实存在从System.Web到System.Windows.Forms的引用。但是,如果您使用Reflector的某个插件将反向工程代码导出到文件(例如。 FileGenerator ),然后搜索,没有实际使用System.Windows.Forms。由于.Net运行时仅在实际需要时加载程序集,因此不应通过System.Web的任何使用来加载WinForms程序集。

        5
  •  -1
  •   Joel Coehoorn    15 年前

    把我加入怀疑论者的名单。但更重要的是,这并不重要。Net framework设置为链接添加或删除对框架附带的任何核心程序集的依赖性的方式不会以任何有意义的方式真正影响性能。