ResourceSet works on staging but not on production server

Feb 9, 2010 at 6:21 PM
Edited Feb 9, 2010 at 6:21 PM


I have an ASP.NET MVC project with two resource sets: one for CSS and one for javascript. The CSS resourceSet works fine on all of my servers. the javascript resourceSet works on staging, but gives me a 404 error on the production server.

I can't attach a debugger to the production server since it is a shared hosting environment. How can I troubleshoot this? I'm really at a loss on how to proceed.

Here's my combres.xml just in case it matters:


<?xml version="1.0" encoding="utf-8"?>
<combres xmlns="urn:combres">
    <filter type="Combres.Filters.FixUrlsInCssFilter, Combres" acceptedResourceSets="siteCss" />
    <filter type="Combres.Filters.HandleCssVariablesFilter, Combres" />
    <minifier name="yui" type="Combres.Minifiers.YuiCssMinifier, Combres">
      <param name="CssCompressionType" type="string" value="StockYuiCompressor" />
      <param name="ColumnWidth" type="int" value="-1" />
    <minifier name="yui2" type="Combres.Minifiers.YuiJSMinifier, Combres" />
    <minifier name="yui" type="Combres.Minifiers.YuiJSMinifier, Combres">
      <param name="IsVerboseLogging" type="bool" value="false" />
      <param name="IsObfuscateJavascript" type="bool" value="true" />
      <param name="PreserveAllSemicolons" type="bool" value="false" />
      <param name="DisableOptimizations" type="bool" value="false" />
      <param name="LineBreakPosition" type="int" value="-1" />
    <minifier name="msajax" type="Combres.Minifiers.MSAjaxJSMinifier, Combres" binderType="Combres.Binders.SimpleObjectBinder, Combres">
      <param name="CollapseToLiteral" type="bool" value="true" />
      <param name="EvalsAreSafe" type="bool" value="true" />
      <param name="LocalRenaming" type="Microsoft.Ajax.Utilities.LocalRenaming, ajaxmin" value="CrunchAll" />
      <param name="OutputMode" type="Microsoft.Ajax.Utilities.OutputMode, ajaxmin" value="SingleLine" />
      <param name="RemoveUnneededCode" type="bool" value="true" />
      <param name="StripDebugStatements" type="bool" value="true" />
    <minifier name="closure" type="Combres.Minifiers.ClosureJSMinifier, Combres">
      <param name="ApiUrl" type="string" value="" />
      <param name="CompilationLevel" type="string" value="ADVANCED_OPTIMIZATIONS" />
  <resourceSets url="~/combres.axd" defaultDuration="30" defaultVersion="auto" defaultCssMinifierRef="off" defaultJSMinifierRef="off" defaultDebugEnabled="auto" localChangeMonitorInterval="30" remoteChangeMonitorInterval="60">
    <resourceSet name="UserAreaCss" type="css" version="12" minifierRef="yui" debugEnabled="false">
      <resource path="~/content/jquery-ui/jquery-ui-1.7.2.custom.css" mode="Dynamic" />
      <resource path="~/content/jquery-ui/themes/smoothness/jquery-ui-1.7.2.custom.css" />
      <resource path="~/content/css/global/thickbox.css" />
      <resource path="~/content/css/global/jquery.autocomplete.css" />
      <resource path="~/content/css/userarea/datePicker.css" />
      <resource path="~/content/css/userarea/WeekCalendar.css" />
      <resource path="~/content/css/userarea/TimeEntriesList.css" />
      <resource path="~/content/css/userarea/invalid.css" />
      <resource path="~/content/css/userarea/screen.css" />
      <resource path="~/content/css/global/infoboxandvalidation.css" />
      <resource path="~/content/css/userarea/NoTabs.css" />
      <resource path="~/content/css/global/TabSlide.css" />
      <resource path="~/content/css/global/form.css" />
      <resource path="~/content/css/global/jquery.message.css" />
      <resource path="~/content/css/global/form.css" />
      <resource path="~/content/css/global/tables.css" />
    <resourceSet name="sitejs" type="js" version="12" minifierRef="yui" debugEnabled="false">
      <!--<resource path="~/Scripts/jquery.js"/>-->
      <resource path="~/Scripts/jquery-1.4.js" />
      <resource path="~/Scripts/jquery.validate.js" />
      <resource path="~/Scripts/jquery-validate-localization/messages_de.js" />
      <resource path="~/Scripts/jquery.effects.core_branched.js" />
      <resource path="~/Scripts/jquery-ui-1.7.2.custom.min.js" />
      <resource path="~/Scripts/jquery.datePicker.min.js" />
      <resource path="~/Scripts/jquery.form.js" />
      <resource path="~/Scripts/jquery.history.js" />
      <resource path="~/Scripts/jquery.devermind.js" />
      <resource path="~/Scripts/jquery.extensions.js" />
      <resource path="~/Scripts/jquery.message.js" />
      <resource path="~/Scripts/jquery.dataTables.js" />
      <resource path="~/Scripts/jquery.hijax.js" />
      <resource path="~/Scripts/jquery.scrollTo.js" />
      <resource path="~/Scripts/jquery.easing.js" />
      <resource path="~/Scripts/jquery.thickbox.js" />
      <resource path="~/Scripts/jquery.metadata.min.js" />
      <resource path="~/Scripts/jquery.tabSlideOut.v1.3.js" />
      <resource path="~/Scripts/date.js" />
      <resource path="~/Scripts/date_de.js" />
      <resource path="~/Scripts/zeiterfassung.js" />
      <resource path="~/Scripts/xVal.jquery.validate.js" />
      <resource path="~/Scripts/jquery.autocomplete-bassistance.js" />
      <resource path="~/Scripts/generichelpers.js" />
      <resource path="~/Scripts/WeekCalendar.js" />
      <resource path="~/Scripts/ReportsForms.js" />
      <resource path="~/Scripts/StopWatchGadget.js" />
      <resource path="~/Scripts/TimeEntriesList.js" />
      <resource path="~/Scripts/Projects.js" />
      <resource path="~/Scripts/TimeEntryForm.js" />
      <resource path="~/Scripts/RemoteValidation.js" />
            //library für color animations, aber es macht probleme mit der neusten jquery.ui.core version            





Feb 10, 2010 at 12:11 PM

Hi Adrian,

If you configure log4net for Combres, there should be a log file which you can review.  Search for "not found" keyword to see.  If you haven't configured log4net, please copy the log4net configuration code in web.config of the Combes sample project (either WebForms or MVC) and add the XmlConfiguration code in global.asax.cs (check out the sample project too).  Using this configuration, the log.txt file should be written in the root folder of your web app. 

If you retrieve the latest code commit of Combres, there will be more comprehensive log messages for not-found exception.

If you don't want to play around with log configuration.  I would suggest do a binary-checking for the JS resource set to see which particular resource is missing (e.g. split the big JS resource set into 2 set to see which half causes the problem - then split the problematic half into 2 smaller halves and so forth.)

Hope this helps.



Feb 11, 2010 at 4:34 PM

Hi Buu,

I've enabled Log4Net and logging works now. Strangely the problem also went away instantly as soon as logging was enabled, so I can't tell what it was in the first place. But anyway, I am not complaining. :-)

Thanks a lot for your help!


Feb 13, 2010 at 3:15 PM

Hi Adrian,

You're welcome.  I'm glad it's working for you now.