Ядро dotnet: для чего используются свойства sha512 и shaPath в .deps.json - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть несколько глубокий вопрос о файле dotnet core .deps.json, который создается при сборке проекта.

Мы строим проект на 2 разных машинах и сравниваемФайлы .deps.json, сгенерированные на машинах, все строки одинаковы, за исключением свойств sha512 для некоторых, если сущности в «библиотеках» являются частью объекта json.

"libraries": {
"App.Metrics/3.0.0": {
  "type": "package",
  "serviceable": true,
  "sha512": "sha512-lU4mow+EjnD86gRQUGyiVfqoURXQuXdgJHAdqJxqhujUs1ItAZJNlQxQmswZsYmYfsrrrq3hswTXAutOdsQGMQ==",
  "path": "app.metrics/3.0.0",
  "hashPath": "app.metrics.3.0.0.nupkg.sha512"
},
"App.Metrics.Abstractions/3.0.0": {
  "type": "package",
  "serviceable": true,
  "sha512": "sha512-5X12M6AzBuJUE1LjRXrOo5HnbekICFd7/8A0L0IEe021P2EVEyxbeOZLOKloGwUiTlJ6Uic/K130CI/kylyvFg==",
  "path": "app.metrics.abstractions/3.0.0",
  "hashPath": "app.metrics.abstractions.3.0.0.nupkg.sha512"
}
.......

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

Стоит отметить, что сборки производятся с помощью TeamCity BuildAgent с использованием одинаковых версий dotnet на обеих машинах.Единственное видимое различие между двумя компьютерами - это абсолютный путь к рабочему каталогу приложения, который не виден в .deps.json.

Итак, вкратце: для чего нужны свойства sha512 и shaPath в.Файл deps.json и как они генерируются?

1 Ответ

0 голосов
/ 06 февраля 2019

Я понял это.

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

Мне в основном нужно было объяснить такое различие нашей команде по соблюдениюубедитесь, что свойство sha512 не представляет какую-то контрольную сумму для пакета nuget или его целостности.

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

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