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

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

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

Стек:

[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


person Lu4    schedule 19.09.2012    source источник
comment
Всем, кто читает это, может быть полезно знать, какое исключение. знак равно   -  person J. Steen    schedule 19.09.2012
comment
Извините, я отредактировал вопрос   -  person Lu4    schedule 19.09.2012


Ответы (1)


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

Я подал заявку на здесь, на codeplex.

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

person Hao Kung    schedule 24.09.2012