【发布时间】:2014-11-01 00:12:20
【问题描述】:
我读过一些关于这个问题的东西,但我还是有点困惑,所以我会尝试介绍我的场景和问题。
首先,我了解到您不应该将 .sln 文件存储在与 .csproj 相同的文件夹中。这样做的原因是,当您尝试添加一个新项目时,它将被添加到带有 .sln 文件的目录上方。
这是来自 Visual Studio 2010 最佳实践:[Link]
现在我使用的是 VS 2013,这有什么不同吗?因为当我创建一个新项目时,它的根文件夹正好放置在 .sln 文件所在的位置。这适用于在 Visual Studio 中使用 New project... 创建的所有项目,然后使用 Add new project.. 在 Visual Studio 中单击解决方案.
之所以问这个是因为我用这个一步步复制了一个项目[Link]
除了放置 .sln 的部分外,一切都很好。要复制项目,我删除了第一个项目的 .sln 并让 Visual Studio 创建一个新项目。默认情况下,Visual Studio 会尝试在与 .csproj 相同的目录中执行此操作。所以我去上面的一个目录并将 .sln 放在那里。问题在于添加一个新项目。它实际上开始像 Visual Studio 最佳实践手册中的示例那样运行(在上面的一个目录中创建新项目)。
我希望所有这些都不会太混乱。如果是这样,我可以详细说明。
这是一个非常重要的话题,因为我会经常这样做(复制项目),我需要它完全按照它应该的方式工作。
干杯!
【问题讨论】:
-
我也在用VS2013,没看到你描述的。如果我使用新解决方案创建一个新项目,我会得到一个包含 .sln 的文件夹和该项目的文件夹。该文件夹内是 .csproj 文件。然后,如果我将另一个项目添加到此解决方案中,我会再次在 .sln 级别获得一个新文件夹,其中 .csproj 在该文件夹中。
-
这是一个选项。在创建新项目对话框中有一个名为“为解决方案创建目录”的复选框,如果您勾选它,那么它会在解决方案文件夹的子文件夹中创建项目,如果您不在同一个文件夹中创建它们。
-
@BenRobinson 是的,这就是我想要的。我刚刚创建了两个测试项目,我看到了不同之处。所以我想我的问题是如何为我复制的项目打勾?因为当我在复制的项目中删除我的 .sln 并创建运行时,Visual Studio 会问我在哪里放置新的 .sln 但没有问我以后应该如何创建新项目。
标签: c# asp.net-mvc visual-studio-2013