Добавление некоторых автоматических версий в CSS-файлы. Почему я не могу получить информацию о сборке? - PullRequest
0 голосов
/ 21 октября 2011
<link rel="stylesheet" type="text/css" href="../Content/Dashboard/CustomTooltip.css?v=<%= System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).FileVersion %>" />

Пара вопросов:

  • Это нормальный способ сделать это? Идея состоит в том, что когда информация о сборке наших продуктов изменяется, обновляется версия, путь к файлу CSS изменяется и делает кэш недействительным.
  • Если я помещаю код C # в окно просмотра, я вижу правильную информацию о версии, но на странице .aspx она не загружается. Нет сообщения об ошибке, но он просто говорит .css? V = без версии.

Спасибо

Редактировать: Кажется, это как-то связано с отражением, которое происходит. Если я скажу:

System.Reflection.Assembly.GetExecutingAssembly().GetName().Name

Я вижу правильное имя в окне просмотра, но при оценке на странице .aspx это App_Web_35 (не правильно). Есть идеи как это исправить?

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

protected string GetApplicationVersion()
{
    return System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion;
}

на моей связанной странице CS - а затем в коде behe я вызвал <% GetApplicationVersion ()%>, и теперь он с радостью возвращает правильную информацию. Хотелось бы, чтобы оно было встроено.

1 Ответ

1 голос
/ 21 октября 2011

CSS-файл является статическим, как HTML. Подумайте о создании разных CSS-файлов и назовите это так:

<link rel="stylesheet" type="text/css" href="../Content/Dashboard/CustomTooltip_<%= `System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAsse`m`bly().Location).FileVersion %>.css" />`

так что вам нужен файл CSS, как этот ../Content/Dashboard/CustomTooltip_1.0.css

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