Новый набор функций .NET и минификсация {версия} подстановочные знаки не работают с каталогами?

17

У меня есть следующий код кода, который отлично работает:

bundles.Add
(
    new ScriptBundle("~/bundles/scripts")
    .Include
    (
        "~/Scripts/jquery-{version}.js"
        ,"~/Scripts/jquery-ui-{version}.js"
        ,"~/Scripts/jquery.unobtrusive*"
        ,"~/Scripts/jquery.validate*"
        ,"~/Scripts/fullcalendar-1.5.4/fullcalendar.js"
        , "~/Scripts/DataTables-1.9.3/media/js/jquery.dataTables.js"
    )
);

Но тогда я хочу использовать подстановочный шаблон {version}, чтобы использовать все его отличные функции:

bundles.Add
(
    new ScriptBundle("~/bundles/scripts")
    .Include
    (
        "~/Scripts/jquery-{version}.js"
        ,"~/Scripts/jquery-ui-{version}.js"
        ,"~/Scripts/jquery.unobtrusive*"
        ,"~/Scripts/jquery.validate*"
        , "~/Scripts/fullcalendar-{version}/fullcalendar.js"
        , "~/Scripts/DataTables-{version}/media/js/jquery.dataTables.js"
    )
);

и BANG, исключение, это не работает, я что-то делаю неправильно?

ИЗМЕНИТЬ

Информация об исключении: System.ArgumentException:

Каталог не существует. Имя параметра: directoryVirtualPath

Stack

  

[ArgumentException: Каталог не существует. Имя параметра:   directoryVirtualPath]
  System.Web.Optimization.Bundle.Include (String [] virtualPaths) +40
  Aerostar.BundleConfig.RegisterBundles (пакеты BundleCollection) в   c: \ Users \ Denis \ Documents \ Visual Studio   2012 \ Projects \ Aerostar \ Aerostar \ App_Start \ BundleConfig.cs: 21
  Aerostar.MvcApplication.Application_Start () в   c: \ Users \ Denis \ Documents \ Visual Studio   2012 \ Projects \ Aerostar \ Aerostar \ Global.asax.cs: 24

     

[HttpException (0x80004005): Каталог не существует. Имя параметра:   directoryVirtualPath]
  System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode (HttpContext   контекст, приложение HttpApplication) +9859725
  System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (IntPtr   appContext, контекст HttpContext, обработчики MethodInfo [] +118
  System.Web.HttpApplication.InitSpecial (состояние HttpApplicationState,   Обработчики MethodInfo [], IntPtr appContext, контекст HttpContext) +172
  System.Web.HttpApplicationFactory.GetSpecialApplicationInstance (IntPtr   appContext, контекст HttpContext) +336
  System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr   appContext) +296

     

[HttpException (0x80004005): Каталог не существует. Имя параметра:   directoryVirtualPath]
  System.Web.HttpRuntime.FirstRequestInit (контекст HttpContext) +9873912   System.Web.HttpRuntime.EnsureFirstRequestInit (контекст HttpContext)   +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest   wr, контекст HttpContext) +254

    
задан Lu4 19.09.2012 в 12:24
источник
  • Это может быть полезно для тех, кто читает это, чтобы узнать, какое исключение. знак равно –  J. Steen 19.09.2012 в 12:26
  • Извините, я отредактировал вопрос –  Lu4 19.09.2012 в 12:30

1 ответ

27

Это верно, в настоящее время выражение {version} поддерживается только как часть файла, его не используется во время хождения по каталогу. Это то, что мы рассмотрим в будущей версии.

Я зарегистрировал проблему для здесь здесь, в codeplex .

Пожалуйста, проголосуйте за него, если это то, о чем вы сильно чувствуете, нас исправляете.

    
ответ дан Hao Kung 24.09.2012 в 22:38