如何获取引用程序集的物理路径

本文关键字:程序集 路径 引用 何获取 获取 | 更新日期: 2023-09-27 18:18:26

我有一个主程序集,这个程序集引用了一些更多的程序集。我能够得到那些引用的程序集名称。但是,我无法检索这些引用程序集的物理路径。有人能帮我吗?

我使用以下代码:

string path = Path.GetFullPath(txtFileName.Text);
Assembly a = Assembly.LoadFrom(path);
    foreach (AssemblyName an in a.GetReferencedAssemblies())  {
    Assembly asm = Assembly.Load(an);                
    MessageBox.Show(an.FullName.ToString() + "Location : " + asm.CodeBase.ToString());
    }

它给了我系统程序集"mscorlib"的路径。但是当它试图检索用户创建的程序集时,它说" the system cannot find the file specified"

如何获取引用程序集的物理路径

也许像这样:

string path = System.Reflection.Assembly.GetAssembly(typeof(asm)).Location;
string dir = Path.GetDirectoryName( path);