0

我在 Visual Studio 2012 中有几个 Web 应用程序,它们是 IIS Web 应用程序。我无法找到已添加到 Web 应用程序的引用程序集的列表。

我需要检查它们的版本,并需要确认它们是否在解决方案中重建其他项目时得到更新,但除了\bin文件夹中的直接项目 DLL 之外,我在任何地方都找不到参考列表,如其他项目类型。

如果没有这样的列表,那么我将如何确定Web Application's Bin文件夹中存在的特定 DLL 是通过添加Add Reference还是直接复制到其中?

4

3 回答 3

3

不确定是否相同,但在 VS 2013 中,您右键单击项目 -> 属性页,然后选择左侧的引用。

于 2014-11-25T17:36:40.447 回答
1

我没有 VS 2012 在工作,但在 VS 2010 中你可以做的是:

  1. 卸载 Web 应用程序项目(右键单击项目,卸载)然后右键单击,编辑。然后,您将看到所有参考的列表。
  2. 或者,打开您的项目所在的 windows 文件夹,然后在 notepad++(或等效文件)中打开您的项目文件 (.csproj)。

希望我正确理解了您的问题!

于 2013-09-02T13:13:25.220 回答
0

我会给你我的代码被剥离,所以它不是“准备好的”解决方案,但假设你知道主要程序集的列表,你想知道这些程序集引用的任何内容是否丢失

    private void PopulateReferencedButMissingAssemblies(List<string> listOfKnowAssymblies)
    {
        HashSet<string> missingRefs = new HashSet<string>();

        foreach (string assemblyName in listOfKnowAssymblies)
        {
            Assembly parent = Assembly.Load(assemblyName);
            AssemblyName[] refs = parent.GetReferencedAssemblies();

            foreach (AssemblyName d in refs) //checking references
            {
                try
                {
                    Assembly subRef = Assembly.Load(d.FullName);
                    subRef = null; //release loaded assembly
                }
                catch
                {
                    missingRefs.Add(d.FullName);
                }
            }
        }

        if (missingRefs.Count == 0)
        {
            //refsPanel.Visible = false;
            //return;
        }


        foreach (string mref in missingRefs)
        {
            //display missing refs in my case
        }

    }
于 2014-04-30T15:47:46.210 回答