.NET有链接器吗?

Wat*_* v2 7 c# clr com-interop c#-4.0

来自Jon Skeet的博客:

以下评论意味着什么?

    // The line below only works when linked rather than
    // referenced, as otherwise you need a cast.
    // The compiler treats it as if it both takes and
    // returns a dynamic value.
    string value = com.MakeMeDynamic(10); 
Run Code Online (Sandbox Code Playgroud)

我理解引用程序集的内容.您可以在命令行使用/ ref:开关编译程序文件时引用它,也可以在Visual Studio中向程序集添加静态引用.

但是如何链接到.NET中的程序集?他的意思是,使用Reflection(Assembly.LoadFile())加载程序集?或者,Win32 API LoadLibrary()?或者,.NET是否有我从未听说过的链接器?

Jon*_*eet 12

它主要用于COM主互操作程序集.在.NET 4中,您可以正常引用它们,也可以"链接"/"嵌入"它们 - 在这种情况下,您最终只会将您感兴趣的PIA位嵌入到您自己的程序集中.

从命令行,这是/link:C#4编译器的选项.