Поместите переменную среды на многих страницах сайта ASP.NET во время сборки - PullRequest
0 голосов
/ 12 ноября 2011

Я использую инструмент Hudson CI для автоматизированных сборок, и он создает переменную среды ${env.BUILD_NUMBER} для номера сборки.Я хочу добавить этот номер в ссылки css в виде строки запроса на многих страницах моего сайта.Как лучше всего получить эту переменную среды во время сборки и заменить ее в коде?

Проект представляет собой веб-сайт ASP.NET C #.

Пример результата:

Я фиксирую код:

<link href="/Content/all.min.css" rel="stylesheet" type="text/css" />

и после сборки у меня остается это, если номер сборки равен 15:

<link href="/Content/all.min.css?v=15" rel="stylesheet" type="text/css" />

1 Ответ

0 голосов
/ 12 ноября 2011

Чтение переменной среды во время Application_Start (Global.asax.cs). Я хотел бы сохранить его в статической переменной. Если вы используете MVC, я бы создал метод расширения, такой как:

    public static string VersionedContent(this UrlHelper urlHelper, string contentPath)
    {
        return string.Format("{0}?v={1}", urlHelper.Content(contentPath), YourStaticClassWithVersionInfo.Version);
    }

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

Ваш взгляд будет таким:

<link href="@Url.VersionedContent("~/Content/Site.css")" rel="stylesheet" type="text/css" />

Дайте мне знать, если вам нужна более подробная информация.

...