For introduction of friend assemblies please read my blog

http://blogs.msdn.com/junfeng/archive/2004/07/23/192268.aspx

In .Net framework 2.0 beta2, some restrictions are added for friend assembly declaration.

1. Strongly named assembly can only have strongly named assemblies as its friend.
2. Only name and publicKeyToken/publicKey are allowed in friend assembly declaration. If you put any other name attributes(version/culture/processorArchitecture) in the display name, CLR will error out.

Post beta2 one more restriction is added.

Only name + publicKey combination is allowed. publicKeyToken is not allowed in friend assembly declaration.

Yes, you have to write super long friend assembly declaration now.