【问题标题】:Easier way to find missing references in VS2010 C# solution在 VS2010 C# 解决方案中查找缺失引用的更简单方法
【发布时间】:2012-04-04 13:43:24
【问题描述】:

我刚刚使用 Visual Studio 2010 从 TFS 打开了一个解决方案。该解决方案包含 100 多个项目(如果由我决定,它可能会少于 5 个)并且其中许多碰巧错过了一个引用(对 Unity dll 的) .

有什么方法可以简化这些引用的修复?现在我必须手动删除并重新添加它们。麻烦。

任何建议将不胜感激。

【问题讨论】:

  • 使用独立VS,我认为没有更简单的方法。您也许可以将引用的 dll 放在一个公共位置并编写一个简单的脚本来处理每个 .csproj(或 .vbproj)文件并更改 XML 中的引用,但是当您创建这样的脚本时,您可能已经能够完成手动工作。
  • 您需要找出引用丢失的原因。
  • 好吧,Ramhound,它们“失踪”了,因为 VS 不知道在哪里找到它们。这就是为什么我希望能够一键轻松更新所有这些项目。

标签: c# visual-studio visual-studio-2010


【解决方案1】:

要解决问题,您需要找出它尝试加载文件的位置。您可以在项目 csproj 文件中执行此操作。您要么安装了更新(或不同)版本的程序集,要么拥有不同的文件和文件夹结构。您需要重新创建该项目中已使用的文件和文件夹结构或将 csproj 文件重写到新位置。

未来您可能希望更改处理第 3 方引用的方式。我使用这种方法有很好的经验:定义一个 ThirdPartyLibraries 文件夹,所有这些库都在其中检查并签入。它应该在解决方案文件夹中。从现在开始,每个人都必须将 3rd 方库放在那里并使用它们。

【讨论】:

  • 这正是我们的做法,但我认为在这种情况下(每次设置解决方案时都会发生这种情况 - 几乎),有人忘记更新参考 - 这适用于设置解决方案的人,但不适用于检查它的人,因为在我的树中找不到使用的旧参考。但是,这里的问题是关于简化在解决方案中查找多个项目的引用的方式。
【解决方案2】:

可能想查看 resharper,它可能会满足您的参考需求。我知道它有助于优化和识别类中的引用,在项目级别不确定。 Resharper 有 30 天的试用期

【讨论】:

  • 我会试试看它是否可以帮助我。到目前为止还没有运气。
  • bemdahmon:我登陆这个线程寻找然后。所以我认为这还不存在:)
【解决方案3】:

您可以将所有这些二进制文件添加到 Binaries 文件夹并添加到您的 TFS。

现在将二进制文件作为现有项目添加到您的解决方案项目中,这样当您打开解决方案时它也会获取所有解决方案项目。

确保从二进制文件夹添加引用。

【讨论】:

  • 我有所有的二进制文件,只是我从 TFS 获取项目时引用路径错误。
【解决方案4】:

如果引用的程序集的位置发生了变化,那么在 .csproj 文件上的文件中进行查找和替换以将损坏的引用替换为正确的引用是相对简单的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-18
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    相关资源
    最近更新 更多