none
MVC4在IIS中发布为应用程序后,bundleConfig中配置的资源包无法解析 RRS feed

  • 问题

  • 在 VS2010中开发的MVC4网站,部署时遇到问题

    在项目中配置了一下JS/CSS资源,在bundleConfig中打包,在View中引用后,调试时一切正常。

    但在IIS中的默认网站下发布为应用程序后,bundleConfig中配置的资源包无法解析。

    查看网页源码后,显示如下内容:

    <script src="/bundles/jquery?v=N9f4Apjr8UJS4-Smj0m3IRn_FA2HLasYilqO1-ho4RQ1"></script>

    而不是解析好的各个js、css文件引用。

    网上搜索,说是将:”删除bin目录中的FCL自带的Microsoft.Web.Infrastructure.dll 程序集“ ,这个我已经试过了,无法解决。

    请问这种情况怎么处理?

    注:我已发布过单独网站方式,可以运行,但我希望发布为 默认网站下的应用程序,不希望占用新的端口。

    2014年10月30日 3:55

全部回复

  • 请问有人遇到过这种情况吗? 
    2014年10月30日 6:06
  • 你好,

    据我所知,bundling 是.net 4.5 新功能,它会把多个文件压缩成单独的文件。所以这个应该期望的结果。

    详细信息你可以参考这个文档:

    https://www.asp.net/mvc/overview/performance/bundling-and-minification

    关于bundleConfig中配置的资源包无法解析,我建议你像下面这样来引用js/css(render 方法):

    @Styles.Render("~/Content/themes/base/css")
    另外,你可以禁止掉bundling 这个功能,设置debug=true 或者 <mark>BundleTable.EnableOptimizations = false</mark>

    如果不能工作,你可以把详细的错误信息贴出来来帮助我们更好的解决这问题。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年10月30日 12:30
  • “据我所知,bundling 是.net 4.5 新功能,它会把多个文件压缩成单独的文件。所以这个应该期望的结果。”

    首先,我用的是4.0,而且这个功能在4.0中已经有了。另外,下面的这种引用方式

    @Styles.Render("~/Content/themes/base/css")

    是在Razor中使用的引用,可能是在4.5中有变化吧,所以你会有上面的描述,但我未使用过4.5。

    我目前的写法是,在bundleConfig  中创建如你所写"~/Content/themes/base/css"的 “包”,姑且这么叫吧,然后在Razor视图中添加引用。而在调试过程中,页面上也正常生成了 多条资源的引用,我将站点在IIS中发布为网站的话,一切正常,只有发布为虚拟目录(IIS5.1)或应用程序(IIS7)中,会出现我最开始所描述的问题。

    另外,我的代码在公司,由于公司性质,问题连截图也很麻烦,请见谅。

    但实际的情况,与我描述的相差无几。

    <script src="/bundles/jquery?v=N9f4Apjr8UJS4-Smj0m3IRn_FA2HLasYilqO1-ho4RQ1"></script>

    src 中的值,是什么,为何会变成这样,是与IIS哪里配置有关吗? 好像是对bunding 方式无法解析导致的。

    P.S. 公司临时有其他工作,导致今天晚上才上来看这个问题的情况。


    2014年10月31日 14:35
  • “据我所知,bundling 是.net 4.5 新功能,它会把多个文件压缩成单独的文件。所以这个应该期望的结果。”

    首先,我用的是4.0,而且这个功能在4.0中已经有了。另外,下面的这种引用方式

    @Styles.Render("~/Content/themes/base/css")

    是在Razor中使用的引用,可能是在4.5中有变化吧,所以你会有上面的描述,但我未使用过4.5。

    我目前的写法是,在bundleConfig  中创建如你所写"~/Content/themes/base/css"的 “包”,姑且这么叫吧,然后在Razor视图中添加引用。而在调试过程中,页面上也正常生成了 多条资源的引用,我将站点在IIS中发布为网站的话,一切正常,只有发布为虚拟目录(IIS5.1)或应用程序(IIS7)中,会出现我最开始所描述的问题。

    另外,我的代码在公司,由于公司性质,问题连截图也很麻烦,请见谅。

    但实际的情况,与我描述的相差无几。

    <script src="/bundles/jquery?v=N9f4Apjr8UJS4-Smj0m3IRn_FA2HLasYilqO1-ho4RQ1"></script>

    src 中的值,是什么,为何会变成这样,是与IIS哪里配置有关吗? 好像是对bunding 方式无法解析导致的。

    P.S. 公司临时有其他工作,导致今天晚上才上来看这个问题的情况。

    2014年10月31日 14:35
  • 你好,

    你可以配置一下你的web.config 在网站根目录下面:

    <system.web>
        <compilation debug="true" />
        ......
    </system.web>


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年11月7日 8:02
  • 你好,

    你可以配置一下你的web.config 在网站根目录下面:

    <system.web>
        <compilation debug="true" />
        ......
    </system.web>


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    显示调试信息吗? 这个好像不是程序出错,而是IIS无法解析
    2014年11月15日 8:26