Могу ли я добавить пользовательские строки версии в .net DLL? - PullRequest
5 голосов
/ 23 сентября 2008

Я могу добавить пользовательские строки версии в C ++ DLL в Visual Studio, отредактировав файл .rc вручную. Например, если я добавлю в раздел VersionInfo файла .rc

VALUE "BuildDate", "2008/09/19 15:42:52"

Затем эта дата отображается в проводнике файлов в свойствах DLL на вкладке Версия.

Могу ли я сделать то же самое для C # DLL? Не только для даты сборки, но и для другой информации о версии (такой как информация об управлении версиями)

ОБНОВЛЕНИЕ: Я думаю, что может быть способ сделать это путем встраивания ресурса Windows, поэтому я спросил, как это сделать .

Ответы [ 2 ]

5 голосов
/ 23 сентября 2008

Расширяя ответ Кота, в AssemblyInfo.cs:

Вы можете сделать:

[assembly: CustomResource("Build Date", "12/12/2012")]

Где CustomResource определяется как:

[AttributeUsage(AttributeTargets.Assembly)]
public class CustomResourceAttribute : Attribute
{        
    private string the_variable;
    public string Variable  {get { return the_variable; }}

    private string the_value;
    public string Value     {get { return the_value; }}

    public CustomResourceAttribute(string variable, string value)
    {
        this.the_variable = variable;
        this.the_value = value;
    }
}

Это решение хорошо, потому что оно дает вам необходимую гибкость и не вызывает никаких предупреждений компилятора.

К сожалению, невозможно использовать DateTime, поскольку значения, введенные в атрибутах, должны быть константами, а DateTime не является константой.

4 голосов
/ 23 сентября 2008

В AssemblyInfo.cs вы можете поместить:

[assembly: System.Reflection.AssemblyInformationalVersion("whatever you want")]

Это предупреждение компилятора, если это не число, подобное 1.2.3.4, но я уверен, что все будет работать.

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