Я столкнулся со странной проблемой, связанной с получением даты сборки при разных развертываниях.
Сначала позвольте мне показать, как получить дату сборки:
var attribute = assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>();
if (attribute?.InformationalVersion != null)
…
И тогда у меня в файле .cprj есть следующее:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<SourceRevisionId>build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))</SourceRevisionId>
</PropertyGroup>
Странная вещь начала происходить, когда я выполняю развертывание:
Я отлично работаю, когда развертываю его сам, но когда другой разработчик делает развертывание, то в результате:
1) он получает почти на 100 файлов меньше, чем я в моем развертывании
2) указанный код (атрибут? .InformationalVersion! = Null) всегда равен нулю в его случае, и, следовательно, дата сборки недопустима.
Я бы хотел понять, почему у нас такой разный результат.
В качестве предположения, я думаю, что, возможно, ОС, на которую он воздействует: я не уверен на 100%, но подозреваю, что он использует VS под Linux / Mac OS. Но, тем не менее, я полагаю, что результат развертывания должен быть одинаковым во всех случаях ...