Исходный ответ: https://stackoverflow.com/a/50607951/10522960
Резервное копирование:
Для проектов .NET Core я адаптировал ответ Postlagerkarte, чтобы обновить поле Copyright для сборки с датой сборки.
Непосредственное редактирование csproj
Следующее может быть добавлено непосредственно к первому PropertyGroup
в csproj:
<Copyright>Copyright © $([System.DateTime]::UtcNow.Year) Travis Troyer ($([System.DateTime]::UtcNow.ToString("s")))</Copyright>
Альтернатива: Свойства проекта Visual Studio
Или вставьте внутреннююВыражение непосредственно в поле Copyright в разделе Package свойств проекта в Visual Studio:
Copyright © $([System.DateTime]::UtcNow.Year) Travis Troyer ($([System.DateTime]::UtcNow.ToString("s")))
Это может немного сбить с толку, поскольку Visual Studio будет оценивать выражение и отображать текущее значение в окне.но он также соответствующим образом обновит файл проекта за кулисами.
Для всего решения через Directory.Build.props
Вы можете поместить элемент <Copyright>
выше в файл Directory.Build.props
вкорень вашего решения, и он будет автоматически применен ко всем проектам в каталоге, при условии, что каждый проект не предоставляет свой собственный Val val Copyright
<Project>
<PropertyGroup>
<Copyright>Copyright © $([System.DateTime]::UtcNow.Year) Travis Troyer ($([System.DateTime]::UtcNow.ToString("s")))</Copyright>
</PropertyGroup>
</Project>
Directory.Build.props: Настройте свою сборку
Выходные данные
Пример выражения даст вам авторское право, подобное этому:
Copyright © 2018 Travis Troyer (2018-05-30T14:46:23)
Извлечение
Вы можете просмотреть информацию об авторских правах из свойств файла в Windows или получить ее во время выполнения:
var version = FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location);
Console.WriteLine(version.LegalCopyright);