Assembly.CodeBase Property
Gets the location of the assembly as specified originally, for example, in an AssemblyName object.
Assembly: mscorlib (in mscorlib.dll)
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);
-
FileIOPermission
for access to the path. Associated enumeration: FileIOPermissionAccess.PathDiscovery
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.
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 ). LocalPathnew Uri ( Assembly . GetExecutingAssembly (). CodeBase ). LocalPath
- 2/6/2011
- Shital Shah