在 Visual Studio (2010) 中是否可以在项目级别创建“解决方案文件夹”?
Visual Studio 中的“虚拟”项目文件夹?
问题:
我们的解决方案中有一个项目,其中包含我们所有的文化资源文件。我们为每个业务目的使用一个资源文件,即我们有多个资源文件代表每种文化。
由于不同文化的资源文件必须存储在同一位置(路径),这导致或项目在根级别包含许多资源文件。这暂时没问题,但随着我们增加对不同文化的支持,资源文件的数量将增长到无法管理的数量
因此,为了更好地组织我们的项目,我们希望在项目级别创建一个“虚拟”文件夹,我们可以在其中为每种文化创建一个文件夹。这可能吗?
有什么想法吗?
最佳答案
我敢肯定你做不到。这对我来说一直是 VS 的一个奇怪的细微差别,解决方案中的文件夹是虚拟的,但项目文件夹不是。无论如何,我都不喜欢虚拟文件夹,因为您可能会遇到奇怪的细微差别,因为文件的物理移动与虚拟文件夹中的结构不同步。让我很头疼。我一直希望在解决方案级别有物理文件夹,用于放置跨项目共享的内容。
第 1 步)如果它们只需要位于同一个物理文件夹中,那么首先我会将它们移动到项目的 Resources 子文件夹中。我很少保留项目的根目录。甚至源代码也进入“src”文件夹。仅在根目录中保留 *.config 文件之类的内容。
第 2 步)根据需要在解决方案级别创建多个虚拟文件夹,您可以在其中将文件从项目拖到相应的虚拟解决方案文件夹中。该文件仍将实际存在并显示在项目的“资源”文件夹中,但为了更加用户友好地浏览文件,它们将存在于仅引用原始文件的虚拟文件夹中。
我意识到这不太理想,但我想指出,当文件实际存在于项目中时,没有什么能阻止您使用解决方案级文件夹。
但正如我提到的,如果您向项目添加新的资源文件,您将始终需要通过将它们拖到虚拟解决方案文件夹中来对它们进行“分类”这一额外步骤。这是可能会不同步的事情之一,因为如果你几周不碰这个项目,你就会忘记这些。
更好的解决方案可能是使用某种自定义构建步骤,可能是使用 nant 或 msbuild,它将资源存储在物理上独立的资源文件夹中,并在编译之前将它们复制到单个资源文件夹中。通过这种方式,您可以在每个子文件夹中创建资源,并且构建步骤会自动将它们复制到单个目标文件夹中。
关于c# - 项目级别的 Visual Studio 解决方案文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7922912/