【问题标题】:Open a csproj and not the entire solution打开一个 csproj 而不是整个解决方案
【发布时间】:2015-11-10 11:34:28
【问题描述】:

我正在开发一个包含 30 个 cs 项目的解决方案。我只关注一个项目,所以我更喜欢只打开这个特定的项目。 打开这个特定项目后,它会加载整个解决方案以及所有其他 29 个项目。 有没有办法只打开这个特定的 csproj?

【问题讨论】:

  • 就我而言,你不能。这可能是因为解决方案中包含的项目总是有某种联系。主要是解决方案内部参考。仅加载一个可能会导致不兼容或构建问题。不过,您可以卸载项目(右键单击解决方案资源管理器中的节点,然后单击“卸载”)。
  • 我只使用过 vs 2010 。如果特定项目与解决方案中的其他项目存在依赖关系,那么您将面临很多问题。如果没有那么会有一个单独的项目文件,你可以直接打开它。
  • 创建一个新的空解决方案并添加现有项目,这应该可以解决问题:-)
  • 可能是因为你们提到的依赖关系
  • 我使用了一个名为 Funnel (visualstudiogallery.msdn.microsoft.com/…) 的 VS 扩展程序,这对我很有帮助。您可以选择要加载的项目,并告诉它加载所有依赖项。

标签: c# visual-studio-2013 solution csproj


【解决方案1】:

以下结构可用于获得所需的行为:

  • 创建新的 Visual Studio 解决方案

  • 删除创建的默认项目

  • 将现有项目添加到解决方案

  • 将项目设置为启动项目(用于重新构建等...)

你现在准备好了

【讨论】:

  • 谢谢,这是我熟悉的解决方法。我想知道是否有解决方案,例如在 VS 中设置首选项或以这样的方式打开项目,以便在没有所有其他项目的情况下加载它
  • 我不知道。请注意,.sln 文件是一个简单的文件,其中包含指向 .csproj 文件的所有链接和一些编译设置
【解决方案2】:

您可以在几分钟内完成此操作,而且非常简单。每个 sln 文件都包含许多以这种形式编写的项目:

Project(...) = "name.of.the.project", "{项目的唯一标识符}"

以下是该项目的配置。

因此您可以编写一个 javascript 文件来将您的原始 sln 复制到该 sln 中找到的每个项目文件夹中。之后遍历每个项目文件夹并为每个 sln 删除其他项目。可以使用 .bat 或 cmd 运行 javascript 文件。

通过这种方式,您可以确保解决方案的每个项目在其文件夹中都有一个包含该项目的新解决方案。

【讨论】:

    【解决方案3】:

    我们有一个包含数百个项目的解决方案。 所以我们所做的是拥有一个包含所有内容的 Main.sln。然后将其余项目分解为不同的较小解决方案,并按相关性分组。

    即。所有数据库项目都在一个解决方案中,UI 项目在另一个解决方案中等等。

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多