Вопрос

Есть ли возможность включить текущий год через DateTime.now.year в AssemblyInfo.cs-file?

Я пытался:

[assembly: AssemblyCopyright("Copyright " + DateTime.Now.Year)]

Но кажется, что аргумент может быть только постоянным выражением.

Это было полезно?

Решение

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

Если вы особенно хотели такого поведения, вы можете добавить скрипт на шаг перед компиляцией, который вставляет дату в файлы.

Лично, учитывая скорость, с которой меняется год, было бы время, плохо потраченное на создание автономной задачи для этого. У меня есть многочисленные проекты, которые имеют «2009» в их сборе. У меня есть задача в моем списке, чтобы завершить в новом году, запустить инструмент Regex, чтобы найти и заменить все экземпляры «2009» на «2010» в файлах AssemblyInfo.cs.

Я бы заявил, что это намного меньше работы, чем интеграция в процесс сборки.

Другие советы

Это может быть автоматизировано, но вам необходимо использовать метод, который манипулирует предварительной сборкой файла AssemblyInfo.cs.

Вы должны делать это, хотя?

Термин авторских прав не перезагружается при восстановлении своего кода. Если авторское право в настоящее время в 2009 году, оно должно оставаться на 2009 год независимо от текущего года, если вы не внесете значительные* изменения кода в более позднем году.

*Для значения «значительного» вам нужно проконсультироваться с адвокатом, а не разработчику программного обеспечения.

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

Используйте @ {0} Microsoft в файле AssemblyInfo.cs и используйте string.format на стороне сервера, чтобы заменить {0} на значение текущего года.

Это возможно использовать шаблонные файлы. Посмотрите на мой ответ в следующей ветке

Динамически отображать текущий год в сборе

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top