Как я могу обновить настройки на основе сборки? - PullRequest
4 голосов
/ 07 января 2010

Я разработал ресурс HTTP, который использует заголовок Last-Modified, и он должен отражать любые изменения, внесенные в приложение. Я хотел бы обновить это поле, чтобы указать дату сборки или дату последнего обновления приложения. Вот некоторые решения, о которых я подумал:

  1. Используйте скрипт сборки, чтобы изменить настройку DateTime при сборке приложения.

  2. Получить время последней модификации всех файлов в папке приложения

Какой подход кажется более интересным? Есть ли у вас какие-либо предложения?

1 Ответ

2 голосов
/ 07 января 2010
  1. Это очень легко сделать. Вы можете написать простой файл (например, xml) и добавить его как встроенный ресурс, чтобы он был скомпилирован в ваше приложение. Это дает вам свободу, предоставляя любую необходимую вам информацию.

  2. Я бы этого избегал. Это немного хакерски и подвержено проблемам (например, если в папку записывается файл журнала, вы начнете сообщать сегодняшнюю дату, а не дату сборки). Лучше и проще просто читать метку даты из Application.StartupPath (то есть основного файла .exe)

  3. В вашем AssemblyInfo укажите версию [assembly: AssemblyVersion("1.23.*")], и компилятор автоматически добавит дату и время сборки к версии (это будет выглядеть примерно так: 1.23.4567.12345). Затем вы можете прочитать дату / время компиляции, используя (выделено из поискового хита, но выглядит правильно):

</p> <pre><code>AssemblyName an = Assembly.GetEntryAssembly().GetName(); DateTime date = new DateTime(2000, 1, 1, 0, 0, 0); date += TimeSpan.FromDays(an.Version.Build) + TimeSpan.FromSeconds(an.Version.Revision * 2);

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