0

要在 Visual Studio 中为您的项目添加新的 .NET 引用,您只需在当前项目的引用上单击“添加引用...”,切换到“.NET”选项卡并进行操作。

现在,有没有办法以编程方式获取此列表?

4

3 回答 3

4

//需要访问GAC

List<string> gacFolders = new List<string>() { 
    "GAC", "GAC_32", "GAC_64", "GAC_MSIL", 
    "NativeImages_v2.0.50727_32", 
    "NativeImages_v2.0.50727_64" 
};

foreach (string folder in gacFolders)
{
    string path = Path.Combine(@"c:\windows\assembly", folder);
    if(Directory.Exists(path))
    {
        Response.Write("<hr/>" + folder + "<hr/>");

        string[] assemblyFolders = Directory.GetDirectories(path);
        foreach (string assemblyFolder in assemblyFolders)
        {
            Response.Write(assemblyFolder + "<br/>");
        }
    }
}

来源:枚举 GAC 中的程序集

于 2012-04-13T07:48:23.203 回答
0

使用 gacutil 访问全局程序集缓存或使用此 msdn 页面上介绍的包装器。

于 2012-04-13T07:49:55.213 回答
0

我会选择固定路径,因为它可能会发生变化,但适用于或使用

GacUtil

例如,从命令行可以使用

gacutil /l > assemblylist.txt 

并将assemblylist.txt拥有 GAC 中所有程序集的列表,其中包含您需要的所有信息。


或者可以尝试使用

GAC Api(未记录)您需要对此进行一些互操作,它不是 C#。

可以尝试使用这个 C# warpper

GAC API 接口

于 2012-04-13T07:51:11.683 回答