Talk:.NET assembly

From Wikipedia, the free encyclopedia

This article is part of the .NET WikiProject, an attempt to improve and organize the .NET content on Wikipedia. If you would like to participate, you can edit the article attached to this page, or visit the project page, where you can join the project and/or contribute to the discussion.
Start This article has been rated as start-Class on the quality scale.
??? This article has not yet been assigned a rating on the importance scale.

[edit] Dubious

This article claims that "the Just-in-time compiler compiles the code in an assembly into CIL, which is then compiled into machine language at runtime by the CLR". As far as I know, this is incorrect: CIL code is generated by the compiler for the .NET language (such as Visual Basic or C#), and the resulting CIL bytecode is stored in the assembly. The JIT compiler then compiles it into native code during execution. The statement seems to have the two different compilers mixed up. - Sikon (talk) 06:38, 11 December 2007 (UTC)

Thanks for pointing that out. --soum talk 07:28, 11 December 2007 (UTC)

[edit] assembly signing and hacking

re "But what happens if the crackers uses an own pair of public and private key, who guarantees you the public key in the dll is the correct one? "

.Net applications usually load assemblies by their strong name. The strong name includes (in effect) the public key of the assembly. The exploit of substituting a different public key wouldn't work, because it would change the strong name of the assembly, and thus would not be loaded by the caller. Loading by strong name isn't absolutely required, but is common, and required if you want a secure app. Leotohill (talk) 17:09, 23 January 2008 (UTC)