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

标签 c# visual-studio resources solution

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

问题:

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

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

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

有什么想法吗?

最佳答案

我敢肯定你做不到。这对我来说一直是 VS 的一个奇怪的细微差别,解决方案中的文件夹是虚拟的,但项目文件夹不是。无论如何,我都不喜欢虚拟文件夹,因为您可能会遇到奇怪的细微差别,因为文件的物理移动与虚拟文件夹中的结构不同步。让我很头疼。我一直希望在解决方案级别有物理文件夹,用于放置跨项目共享的内容。

第 1 步)如果它们只需要位于同一个物理文件夹中,那么首先我会将它们移动到项目的 Resources 子文件夹中。我很少保留项目的根目录。甚至源代码也进入“src”文件夹。仅在根目录中保留 *.config 文件之类的内容。

第 2 步)根据需要在解决方案级别创建多个虚拟文件夹,您可以在其中将文件从项目拖到相应的虚拟解决方案文件夹中。该文件仍将实际存在并显示在项目的“资源”文件夹中,但为了更加用户友好地浏览文件,它们将存在于仅引用原始文件的虚拟文件夹中。

我意识到这不太理想,但我想指出,当文件实际存在于项目中时,没有什么能阻止您使用解决方案级文件夹。

但正如我提到的,如果您向项目添加新的资源文件,您将始终需要通过将它们拖到虚拟解决方案文件夹中来对它们进行“分类”这一额外步骤。这是可能会不同步的事情之一,因为如果你几周不碰这个项目,你就会忘记这些。

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

关于c# - 项目级别的 Visual Studio 解决方案文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7922912/

相关文章:

c# - NoTextEdit ShapeLock 不起作用 - OpenXML SDK

c# - 必须做什么才能将引用类型的值用作字典键?

c# - 用户定义的转换必须与封闭类型相互转换

css - 如何将 JSF 图像资源引用为 CSS 背景图像 url

c# - 在 Visual Studio 中调试期间如何停止执行所有异常?

c# - 在 Visual Studio/C# 中编译时强制使用 "this"和 "base"

.net - 如何在 WPF 类库上使用 .NET Framework 4.8?

java - Spring :找不到资源

ruby-on-rails - 在 rails 中的单个 RESTful POST 中创建多个资源

c# - 我可以使用 Visual Studio C# 类库项目引用 Blazor 项目