Подтвердить что ты не робот

Есть ли способ установить IsPreRelease в сборке .NET?

FileVersionInfo class имеет свойство IsPreRelease.

Есть ли какой-либо способ через AssemblyInfo или что-то еще в моем проекте сборки .NET, чтобы получить это свойство, чтобы вернуть true в результирующий файл .dll?

4b9b3361

Ответ 1

Если вам это особенно нужно в вашем проекте/решении, классический путь заключается в создании файла ресурсов Script (.rc). Это домашний, шероховатый формат, но выполнимый. Недостатком является то, что вам нужно получить все правильные настройки для начала, а затем сохранить их вручную после этого.

Самый простой путь, если вы в порядке с ручным нажатием после сборки, использует ResEdit (или эквивалент) и добавление VS_FF_PRERELEASE в поле FileFlags.

Примечание. Поле FileFlagsMask должно иметь флаг предварительной маркировки или вместе с партией других - это необходимо, но недостаточно.

Кроме того, вы можете использовать resedit для генерации стартового .rc файла довольно просто:

resedit -convert my.dll my.rc

Если вам нужен процесс auto-with-build, тогда вполне может быть утилита, которая может внести эту целевую модификацию в командной строке, а затем вы можете добавить это как шаг после сборки проекта, который создает DLL файл.

Удачи!

Ответ 2

Я бы попытался использовать resourcelib. Это библиотека для чтения и записи реосурсов, включая Version (RT_VERSION).

Обновление

Я не уверен, посмотрел ли вы на исходный код. Но в resourcelib есть класс под названием FixedFileInfo.cs, который представляет VS_FIXEDFILEINFO. В предложении вы можете прочитать, что IsPreRelease является значением флага dwFileFlags.