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

7
在Visual Studio(2010)中,是否可以在项目级别下创建“解决方案文件夹”?
在Visual Studio中创建一个“虚拟”项目文件夹?
问题:
我们的解决方案中有一个包含所有区域性资源文件的项目。每个业务目的使用单个资源文件,即每种语言文化都有一个以上的资源文件。
由于不同语言文化的资源文件必须存储在相同的位置(路径),因此我们的项目在根级别包含了许多资源文件。虽然现在还好,但随着我们增加对不同语言文化的支持,资源文件的数量将会变得无法管理。
为了更好地组织我们的项目,我们想在项目级别上创建一个“虚拟”文件夹,在其中可以为每种语言文化创建一个文件夹。这个可行吗?
有什么想法?
1个回答

5
我非常确定你无法实现这一点。这对于我来说一直是VS的一个奇怪细节,即解决方案中的文件夹是虚拟的,而项目文件夹不是。我不喜欢虚拟文件夹,因为当你移动文件时,物理位置与虚拟文件夹结构不同步时,你会遇到奇怪的细节问题,这给我带来了头疼。我一直希望在解决方案级别上有物理文件夹,用于放置跨项目共享的东西。
步骤1)如果它们只需要在同一个物理文件夹中,那么首先我会将它们移动到项目的资源子文件夹中。我在我的项目根目录中几乎什么都不放。甚至源代码也放在“src”文件夹中。只留下像*.config文件之类的东西在根目录中。
步骤2)根据需要在解决方案级别创建多个虚拟文件夹,在其中将文件从项目中拖到适当的虚拟解决方案文件夹中。文件仍然存在并显示在项目的“资源”文件夹中,但为了更友好地浏览文件,它们将存在于虚拟文件夹中,该文件夹只引用原始文件。
我意识到这不是最理想的解决方案,但我想指出的是,没有什么能阻止你在项目中物理存在文件的同时使用解决方案级别的文件夹。
但正如我提到的,如果你向项目添加新的资源文件,你总是需要额外的步骤将它们“分类”,即将它们拖入虚拟解决方案文件夹。这是一种容易失去同步的事情,因为如果你几周不接触这个项目,你就会忘记这些了。
更好的解决方案可能是使用某种自定义构建步骤,例如使用nant或msbuild,在编译之前将存储在物理分离资源文件夹中的资源复制到单个资源文件夹中。这样,你可以在每个子文件夹中创建资源,而构建步骤会自动将它们复制到单个目标文件夹中。

AaronLS,这是个好主意。虽然不是最佳解决方案,但这是一个不错的解决方法,可以让我们将每个文化资源文件拆分到单独的文件夹中。我还应该纠正一下自己,我们确实将resource.resx文件存储在单独的文件夹中,而不是项目根目录中。我们也喜欢保持项目根目录的清洁。 - paligap

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接