This topic has not yet been rated - Rate this topic

Assembly.CodeBase Property

Gets the location of the assembly as specified originally, for example, in an AssemblyName object.

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)
public virtual string CodeBase { get; }

Property Value

Type: System.String
The location of the assembly as specified originally.

Implements

_Assembly.CodeBase

To get the absolute path to the loaded manifest-containing file, use the Assembly.Location property instead.

If the assembly was loaded as a byte array, using an overload of the Load method that takes an array of bytes, this property returns the location of the caller of the method, not the location of the loaded assembly.

The following example shows an expression that uses the CodeBase property.


Assembly SampleAssembly;
// Instantiate a target object.
Int32 Integer1 = new Int32();
Type Type1;
// Set the Type instance to the target class type.
Type1 = Integer1.GetType();
// Instantiate an Assembly class to the assembly housing the Integer type.  
SampleAssembly = Assembly.GetAssembly(Integer1.GetType());
// Gets the location of the assembly using file: protocol.
Console.WriteLine("CodeBase=" + SampleAssembly.CodeBase);


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Difference between CodeBase and Location

From http://blogs.msdn.com/b/suzcook/archive/2003/06/26/57198.aspx

The CodeBase is a URL to the place where the file was found, while the Location is the path from where it was actually loaded. For example, if the assembly was downloaded from the internet, its CodeBase may start with "http://", but its Location may start with "C:\". If the file was shadow copied, the Location would be the path to the copy of the file in the shadow-copy dir.

It’s also good to know that the CodeBase is not guaranteed to be set for assemblies in the GAC. Location will always be set for assemblies loaded from disk, however.

If CodeBase has local location then you can also use

  
    string path = new
    
    Uri
    (
    Assembly
    .
    GetExecutingAssembly
    ().
    CodeBase
    ).
    LocalPath
  
  
    new
    
    Uri
    (
    Assembly
    .
    GetExecutingAssembly
    ().
    CodeBase
    ).
    LocalPath