Visual Studio解决方案文件夹在项目级别

在Visual Studio(2010)中,是否可以在项目级别创建“解决方案文件夹”?
Visual Studio中的“虚拟”项目文件夹?

问题:

我们的解决方案中有一个项目,其中包含我们所有的文化资源文件。 我们为每个业务目的使用单个资源文件,即我们有多个表示每种文化的资源文件。

由于不同文化的资源文件必须存储在同一位置(路径),因此这会导致或项目在根级别包含许多资源文件。 这暂时没有问题但是当我们添加对不同文化的支持时,资源文件的数量将增长到无法管理的数量

因此,为了更好地组织我们的项目,我们想在项目级别创建一个“虚拟”文件夹,我们可以为每个文化创建一个文件夹。 这可能吗?

有什么想法吗?

我很确定你做不到。 这对我来说一直是一个奇怪的细微差别,解决方案中的文件夹是虚拟的,但Project文件夹却不是。 我不喜欢虚拟文件夹,因为你可能遇到奇怪的细微差别,因为文件的物理移动不会与虚拟文件夹中的结构保持同步。 引起了我的头疼。 我一直希望解决方案级别有物理文件夹,以便在项目中共享内容。

步骤1)如果他们只需要在同一个物理文件夹中,那么首先我将它们移动到项目的Resources子文件夹中。 我对项目的根本保持不变。 甚至源代码也会进入“src”文件夹。 只留下根目录中的* .config文件之类的东西。

步骤2)在解决方案级别根据需要创建多个虚拟文件夹,将文件从项目拖动到适当的虚拟解决方案文件夹中。 该文件仍然存在并显示在项目的“Resources”文件夹中,但是为了更友好地浏览文件,它们将存在于仅引用原始文件的虚拟文件夹中。

我意识到这不太理想,但我想我会指出,没有任何东西阻止你使用解决方案级文件夹,同时文件存在于项目中。

但正如我所提到的,如果您将新资源文件添加到项目中,您将始终需要采取额外的步骤,通过将它们拖放到虚拟解决方案文件夹中来“分类”它们。 这是可能会失去同步的事情之一,因为如果你在几个星期内没有触及这个项目就会忘记这些。

一个更好的解决方案可能是使用某种自定义构建步骤,可能使用nant或msbuild,它将资源存储在phyiscally单独的资源文件夹中,并在编译之前将它们复制到单个资源文件夹中。 这样,您可以在每个子文件夹中创建资源,并且构建步骤会自动将它们复制到单个目标文件夹中。