Версия файла в 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
начинает сообщать правильную версию.