No, in directly we cannot use, but using the tool
ILDASM(provided my microsoft) or Reflector(third party), we
can decompile the other assembiles and look into them. So it
is easy to reverse engineer them and crack your application.
To provide this reverse engineering using the technique
"obfuscation". There are many third parties(xenocode,
Demeanor for .Net)
Yes, private assemblies can be used more than 1 application.
if you add the reference of private assembly in your
project, it creates the copy which stored in a bin
directory.
Private assembly cannot b shared between two different
application, because private assembly will be stored beneat
the application folder or in root folder.