部署不会复制某些文件

时间:2015-08-19 15:02:23

标签: c# asp.net-mvc asp.net-mvc-4 build nuget

我将this NuGet package添加到用C#编写的MVC项目中。当我在本地运行代码时,一切正常。

但是,当我将我的解决方案部署到我的远程服务器并运行它时,似乎缺少一些这些脚本。例如,它缺少Scripts/bootstrap-treeview.js,我在Chrome浏览器的调试器中收到有关它的错误。这些文件根本没有部署到服务器上,因为当我浏览远程服务器的磁盘时,我在部署位置看不到它们。

我检查了文件的属性,设置为Build Action: ContentCopy to Output Directory: Do not copy。这就是所有这一切。我尝试设置Copy to Output Directory: Copy always,但这无法帮助修复部署以复制这些文件。其他Stack问题使我无法相信这应该部署,因为我设置了Build Action: Content

所以结构如下(如果它有任何帮助):

Project.csproj
   /Scripts
      /bootstrap-treeview.js <-- I want this file to deploy, but its not deploying.

问题是什么?

1 个答案:

答案 0 :(得分:0)

由于我们使用的是bundling and minification,因此问题是捆绑包未正确注册。它也没有被渲染(因此没有引用它,似乎优化导致它不能部署):

bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                "~/Scripts/bootstrap.min.js",
                "~/Scripts/bootstrap-treeview.min.js"));

...在我的视图(或布局视图)中:

@Scripts.Render("~/bundles/bootstrap")