2

当我正在开发 PHP (Laravel) 时,我对 ASP.NET MVC 4 完全陌生,组织事物的方式通常类似于“公共”文件夹,然后将其分成css, img, js,lib等等...... . 这是我更喜欢组织我的文件的方式...试图将其引入 ASP MVC 4,我发现并阅读了这个与我想要实现的问题相似的问题。
在 asp.net mvc 4 中组织自定义 javascripts

我按照他们说的方式进行了操作,并添加了我的自定义 JS 文件并将它们添加到 Bundle 中,它可以编译并且运行良好,但我遇到的问题是在Solution Explorer我移动的所有文件都显示有感叹号,而且我新创建的文件夹(直接在文件资源管理器中,不通过 VS 进行)默认情况下没有显示,它们由于某种原因被隐藏,我可以用Show All Files. 我确保它们存在于内部,Bundle但我Solution Explorer并没有得到刷新。我正在尝试制作一个如下所示的结构:

Contents
    img
        ui-icons.png
    css
        bootstrap
            bootstrap.css
            bootstrap.min.css
Scripts
    lib     
        bootstrap
            bootstrap.min.js
            bootstrap.js
        jquery
            jquery.js
            jquery.min.js
            jquery.ui.js
            jquery.ui.min.js
        modernizr
            modernizr.js
    custom
        mycustom.js
        mycustom2.js

我并不热衷于将所有内容都转储到同一个文件夹(内容和脚本)中,包括我在一些官方库之间的自定义文件。我知道直接使用文件资源管理器可能不是最好的方法,但是配置这些的官方方法是什么……实际上我的结构对 ASP MVC4 有意义吗?
编辑
我的问题与为什么在创建文件jquery和其他文件并将其移动到文件Scripts/lib夹后,我Solution Explorer的问题仍然显示在这些文件中,Scripts但带有感叹号表示找不到文件(当然,因为我移动了它们)。为什么它不能完全反映我在文件资源管理器中看到的内容?除了编辑之外Bundles还有什么我想这样做的Solution Explorer与现实保持同步???为什么我创建的文件夹没有显示Solution Explorer,为什么我必须点击Show All Files才能看到它们?该Create New Folder命令甚至没有作为可用命令启用,这就是为什么我直接在文件资源管理器中完成这些文件夹......但是为什么呢?

4

1 回答 1

3

坦率地说,你可以按照你认为合适的方式组织你的 MVC 项目。如果有任何接近“官方”的方式来组织你的 web 文件,那将是默认的 Visual Studio MVC4 模板如何组织它们:

  • 内容(CSS 文件和相关图像文件)
  • 图像(一般图像文件)
  • 脚本(JavaScript 文件)

如果您更熟悉另一种组织,或者是喜欢其他组织的团队的一员,那就去吧。(尽管在那个团队场景中,请确保所有团队成员都遵循相同的组织规则!)。

编辑:

要使用解决方案资源管理器更改 MVC 模板提供的文件夹结构,请右键单击要在其中添加子文件夹的文件夹(这包括项目名称,用于项目级文件夹),然后选择添加,然后选择添加出现的弹出菜单中的文件夹。

如果要将解决方案中已经存在的文件移动到解决方案中的另一个位置,则应使用解决方案资源管理器而不是 Windows 资源管理器来移动它们,否则您将获得您遇到的行为,而 Visual Studio 会不知道你把他们搬到哪里了。您可以单击并拖动文件,右键单击并复制和粘贴等。

如果您需要将预先存在的文件添加到您的解决方案中(例如,包括一组自定义脚本),您可以使用 Windows 资源管理器将文件复制到相应的项目文件夹中。然后,在 Visual Studio 中,突出显示与您移动它们的位置对应的项目,然后按解决方案资源管理器工具栏中的“显示所有文件”按钮 - 这将显示您在 Windows 资源管理器中复制的文件,否则不会在解决方案中列出资源管理器选项卡。最后,突出显示新文件,单击鼠标右键,然后从弹出菜单中选择“包含在项目中”选项。

最后一点:如果您需要向项目添加特定的 JavaScript 库,最简单的方法是使用NuGet 包管理器,而不是在 Windows 资源管理器中下载和添加文件。此选项位于 Visual Studio 的 Tools 菜单中Library Project Manager --> Manage NuGet Packages for Solution下。并非所有 JavaScript 库都可以通过这种方式使用,但最受欢迎的库是。

于 2013-11-07T22:12:01.340 回答