What
is the difference between public assembly and private assembly in .NET?
An assembly
in .NET can be classified into two different types' namely public assembly
and private assembly. Difference between these two types of assembly is
tabulated below:
[フレーム]
Public
Assembly
Private
Assembly
Public
assembly can be used by multiple applications.
Private
assembly can be used by only one application.
Public
assembly is stored in GAC (Global Assembly Cache).
Private
assembly will be stored in the specific application's directory or
sub-directory.
Public
assembly is also termed as shared assembly.
There
is no other name for private assembly.
Strong
name has to be created for public assembly.
Strong
name is not required for private assembly.
Public
assembly should strictly enforce version constraint.
Private
assembly doesn't have any version constraint.
An example
to public assembly is the actuate report classes which can be imported
in the library and used by any application that prefers to implement
actuate reports.
By default,
all assemblies you create are examples of private assembly. Only when
you associate a strong name to it and store it in GAC, it becomes
a public assembly.
(追記) (追記ここまで)