Версия файла в AssemblyInfo.cs не отображается в свойствах файла Проводника Windows?

У меня есть проект VS2010, который содержит файл AssemblyInfo.cs. Это имеет:

[assembly: AssemblyFileVersion("10.0.1.0")]

Когда я запускаю свое приложение и спрашиваю версию файла из исполняющей сборки, он поднимает 10.0.1 без проблем. Однако если я щелкну правой кнопкой мыши по файлу.exe в проводнике Windows и открою диалоговое окно свойств - на вкладке "Сведения" отобразится версия файла 10.0.0.0(!)

Почему Windows не видит 10.0.1 для версии файла? Я должен что-то упустить...

Дополнительная информация: Если я добавляю Ресурс Версии в файл.res моего приложения, то информация отображается в скомпилированном исполняемом файле, но если у меня нет информации в Ресурсе Версии, скомпилированный exe игнорирует файл и "информационный" (т.е. Атрибуты версии продукта) в AssemblyInfo.cs.

2 ответа

Решение

Есть ли у вас, случайно, файл.RC или.RES, включенный в ваш проект, который содержит определение версии-ресурса? Может быть, пользовательская цель сборки или сценарий добавляет это? Если это так, он будет выбран вместо версии, определенной в AssemblyVersion.cs (по крайней мере, так говорит Майкл Каплан).

В этой серии статей он также показывает, что информация о версии из файла ".MUI" может перекрывать информацию о версии из фактического EXE-файла - хотя, если я правильно понимаю, это только "проблема" с нативными / неуправляемыми сборками.

Я нахожусь на VS2008 для разработки SmartDevice. После изменения номера версии в AssemblyInfo.cs на "2.1.*" Я обнаружил, что невозможно отменить изменение. Неважно что я делаю.

После удаления <project_name>.suo, bin/ *, obj/ *, очистка / восстановление в выпуске, режим отладки, кажется, ничего не имеет значения.

Наконец, сначала я удалил приложение с устройства CE и повторил попытку. Этот раз, Assembly.GetExecutingAssembly().GetName().Version начинает сообщать правильную версию.

Другие вопросы по тегам