4

我有一个主程序集,这个程序集引用了更多程序集。我能够获得那些引用的组件名称。但是,我无法检索那些引用程序集的物理路径。任何人都可以帮助我吗?

我正在使用以下代码。

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”的路径。但是当它试图检索用户创建的程序集时,它会说“系统找不到指定的文件”。

4

1 回答 1

4

或许是这样的:

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

string dir = Path.GetDirectoryName( path);
于 2013-06-14T07:41:27.497 回答