Javascript 脚本包中的ASP.NET MVC{version}通配符选择调试版本?

Javascript 脚本包中的ASP.NET MVC{version}通配符选择调试版本?,javascript,asp.net-mvc,asp.net-mvc-4,knockout.js,Javascript,Asp.net Mvc,Asp.net Mvc 4,Knockout.js,我正在尝试使用从NuGet导入的knockout.js,其中包括knockout-3.2.0.js和knockout-3.2.0.debug.js。我添加了一个新的包,如 bundles.Add(new ScriptBundle("~/bundles/knockout").Include( "~/Scripts/knockout-{version}.js")); 然而,当我检查网页时,发现加载的包是knockout-3.2.0.debug.js 我读了下面的问题 这似乎对回答我的问

我正在尝试使用从NuGet导入的knockout.js,其中包括
knockout-3.2.0.js
knockout-3.2.0.debug.js
。我添加了一个新的包,如

bundles.Add(new ScriptBundle("~/bundles/knockout").Include(
    "~/Scripts/knockout-{version}.js"));
然而,当我检查网页时,发现加载的包是
knockout-3.2.0.debug.js

我读了下面的问题


  • 这似乎对回答我的问题没有什么帮助。

    这是因为脚本文件夹中存在JS的调试版本

    如果查看其他js,则没有调试文件,因此它将使用jquery.1.7.0.js,但如果复制粘贴jquery.1.7.0.debug.js,则它将选择该文件

    如果希望使用knockout-3.2.0.js,请删除js的调试版本

    您也可以转到web.config

     <system.web>
        <compilation debug="false" targetFramework="4.0" />
        // set debug="true" or debug="false" 
    
    
    //设置debug=“true”或debug=“false”
    

    如果设置debug=true,则选择debug version,如果debug为false,则选择另一个版本的js。

    这是因为脚本文件夹中存在js的debug版本

    如果查看其他js,则没有调试文件,因此它将使用jquery.1.7.0.js,但如果复制粘贴jquery.1.7.0.debug.js,则它将选择该文件

    如果希望使用knockout-3.2.0.js,请删除js的调试版本

    您也可以转到web.config

     <system.web>
        <compilation debug="false" targetFramework="4.0" />
        // set debug="true" or debug="false" 
    
    
    //设置debug=“true”或debug=“false”
    

    如果设置debug=true,则选择debug version,如果debug为false,则选择js的另一个版本。

    在Visual Studio中,您可以有多个解决方案配置(默认情况下,它是Visual Studio主菜单下按钮变量的下拉列表,位于标准栏中)。默认情况下,创建新项目(或解决方案)时,有两种可用配置:调试和发布。(您也可以在构建>配置管理器…菜单中访问此项)

    构建解决方案或项目时(或发布时),必须选择以下配置之一:

    • 如果选择“调试”,则将使用调试信息编译项目,以便您可以将其附加到VS debugger并将运行的代码与源文件关联。除此之外,还会发生一些其他事情,例如bundler将使用JS文件的调试版本,而不是生成缩小的bundle。这背后的想法是,如果您使用此配置,那是因为您想调试代码

    • 如果选择Release,则编译项目时不包含调试信息。捆绑包使用脚本的正常或缩小版本,每个捆绑包都转换为一个缩小的文件


    因此,您需要做的是选择正确的配置。考虑到这会影响js绑定和程序集的创建。有时程序集中的代码甚至可以有更好的性能,因为发布版本将有一些优化,这些优化在程序集的调试版本中应用,以允许调试它们。

    在Visual Studio中,您可以有多个解决方案配置(默认情况下,它是Visual Studio主菜单下按钮变量的下拉列表,位于标准栏中)。默认情况下,创建新项目(或解决方案)时,您有两个可用配置:调试和发布。(您也可以在“生成”>“配置管理器…”菜单中访问此配置)

    构建解决方案或项目时(或发布时),必须选择以下配置之一:

    • 如果选择“调试”,则项目将使用调试信息进行编译,以便您可以将其附加到VS debugger,并将运行的代码与源文件关联。此外,还会发生一些其他情况,例如bundler将使用JS文件的调试版本,而不是生成缩小的捆绑包他的意思是,如果你使用这个配置,那是因为你想调试你的代码

    • 如果选择发行版,则编译项目时不包含调试信息。捆绑包使用脚本的正常或缩小版本,每个捆绑包都转换为单个缩小文件


    因此,您需要做的是选择正确的配置。考虑到这会影响js绑定和程序集的创建。有时程序集中的代码甚至可以有更好的性能,因为发布版本将有一些优化,这些优化将应用于程序集的调试版本中,以低调试量。

    其他捆绑包是否正常工作?您是否执行了BundleTable.EnableOptimizations=true;我没有启用优化。其他捆绑包没有调试版本脚本。其他捆绑包是否正常工作?您是否执行了BundleTable.EnableOptimizations=true;我没有启用优化。其他捆绑包没有调试版本脚本。