在.NET MVC应用程序中配置静态资产的位置

时间:2014-04-21 16:28:07

标签: .net asp.net-mvc

默认情况下,.NET MVC应用程序中的静态资源位于两个不同的目录/Content/Scripts中。有没有办法配置Visual Studio的服务器来查找其他目录中的静态资产?

例如,如果我加载/css/main.css,我需要加载~/Assets/css/main.css。我需要设置路线吗?

1 个答案:

答案 0 :(得分:1)

这两个文件夹只是默认设置,MVC中没有任何硬连接来查找这些目录。即使您使用Url.Content之类的内容,您仍然必须在路径中指定Content文件夹,如果这是您要查找的内容,即Url.Content("~/Context/site.css")。捆绑器还要求您指定完整的应用程序相对路径。

您可以将文件夹更改为您喜欢的任何内容,只要您也适当指定引用。

的唯一硬连线类型是具有关联的CSS和JS文件的nuget包。不过,这更多地与开发人员有关。由于ContentScripts是默认目录,因此nuget包开发人员将这些文件夹设置为将其关联文件转储到的文件夹。因此,如果您将所有内容移动到Assets这样的新文件夹,则您安装的下一个nuget包很可能会重新创建ContentScripts文件夹并将其文件转储到那里。现在,没有什么可以阻止你手动将这些文件移动到你喜欢的位置,但是当你处理包更新等时它会变得很快。

我发现更容易克服它并使用默认目录,但就像我说的那样,系统中没有任何硬连接强迫你这样做。请理解,您必须不时手动重新排列内容,以便按照您喜欢的方式对其进行排序。