DLL引用有多贵?

时间:2016-02-16 15:55:30

标签: c# .net vb.net dll dll-reference

本地或全局(GAC / .NET)DLL引用,它们有多贵?

当然,我们永远不应该参考我们不会使用的东西,但是出于好奇,我问:引用整个.NET框架会引起很大的性能问题吗?

类似的更实际的问题是:是否值得在项目中组合类似的命名空间以最小化需要引用的DLL文件(只要我必须在任何情况下使用这些DLL中的每个代码)?

1 个答案:

答案 0 :(得分:6)

只有在执行方法时才会加载引用,该方法使用引用的.dll中的类型。因此,即使您引用整个.NET框架,它也不会自动加载。

{% if pinboard.notes.all.exists %}

输出:

class Program
{
    static void Main(string[] args)
    {
        AppDomain.CurrentDomain.AssemblyLoad += CurrentDomain_AssemblyLoad;
        Console.WriteLine("=====Working with URI...=====");
        WorkWithUri();

        Console.WriteLine("=====Working with XML...=====");
        WorkWithXml();
    }

    private static void CurrentDomain_AssemblyLoad(object sender, AssemblyLoadEventArgs args)
    {
        Console.WriteLine(args.LoadedAssembly.FullName + " has been loaded.");
    }

    private static void WorkWithUri()
    {
        var uri = new Uri("c:\\");
    }

    private static void WorkWithXml()
    {
        XDocument xml = new XDocument();
    }
}