Зависимость Nuget, похоже, переопределена для более низкой версии. - PullRequest
0 голосов
/ 08 февраля 2019

У меня странная проблема с зависимостями Nuget.У меня есть проект как пакет nuget, который нацелен на другой проект также как пакет nuget.Даже когда все говорит, что версия 1.2.3 превращается в 1.2.2.2.

Я допустил ошибку, переключаясь между 3 и 4 пронумерованными версиями:

1.2.3
1.2.2.2
1.2.2.1
1.2.2
1.2.0
1.1.9

Он ведет себя так, как будто зависимость от1.2.3 не будет распознан как 1.2.3, но будет 1.2.3.0, который не будет найден (?), А затем ниже будет 1.2.2.2.

Но приготовьтесь, я подумал, что все в порядке, естьпроблема с форматом версии 3/4, поэтому я перешел на 4-значный формат и выдвинул еще две версии после 1.2.3:

1.2.5.1
1.2.4.1
1.2.3

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

Но все это сошло с ума, когда я запустил версию 1.2.5.1, проект был обновлен до версии 1.2.5.1, он установлен еще во времясборка, которая по какой-то причине переопределена для цели 1.2.4.1, и я действительно не знаю, почему?

После сборки в файле xxx.deps.json это переопределение:

"GreenSuperGreen.Benchmarking.NetStandard/1.2.5.1": {
"dependencies": {
"Concurrent.FastReflection.NetStandard": "1.0.1",
"GreenSuperGreen.NetStandard": "1.2.5.1",
"System.Collections.Immutable": "1.5.0"
},
"runtime": {
"lib/netstandard2.0/GreenSuperGreen.Benchmarking.NetStandard.dll": {
"assemblyVersion": "1.2.4.1",
"fileVersion": "1.2.4.1"
}
}
},

1 Ответ

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

Я нашел решение, но не объяснение.

Если проект, который зависит от пакета nuget, установлен DotNet или DotNetCore в файле проекта:

  <PreserveCompilationContext>false</PreserveCompilationContext>

Тогда версияЗависимость снова начинает работать правильно.

...