Я использую автоматическое построение версий, упомянутое в этом вопросе (а не выбранный ответ, но ответ, который использует технику [assembly: AssemblyVersion("1.0.*")]
). Я делаю это в нижнем колонтитуле моего файла Site.Master в MVC 2. Мой код для этого выглядит следующим образом:
<div id="footer">
<a href="emailto:[email protected]">[email protected]</a> - Copyright © 2005-<%= DateTime.Today.Year.ToString() %>, foo LLC. All Rights Reserved.
- Version: <%= Assembly.GetEntryAssembly().GetName().Version.ToString() %>
</div>
Исключением, которое я получаю, является Object reference not set to an instance of an object
, потому что GetEntryAssembly()
возвращает NULL
. Мои другие варианты тоже не работают. GetCallingAssembly()
всегда возвращает "4.0.0.0", а GetExecutingAssembly()
всегда возвращает "0.0.0.0". Когда я смотрю на свои DLL файлы, все происходит с версией, как и следовало ожидать. Но я не могу понять, как получить доступ к нему для отображения в моем нижнем колонтитуле!