В значении оператора `==` в файле paket.dependencies? - PullRequest
0 голосов
/ 20 июня 2019

В файле paket.dependencies проекта я нашел следующие строки:

nuget Microsoft.AspNet.Mvc == 5.2.6
nuget Microsoft.AspNet.Razor == 3.2.6
nuget Microsoft.AspNet.WebPages == 3.2.6

Я проверил официальную документацию безуспешно. Я думаю, что == может исправить номер версии, но для этого мы можем написать nuget Microsoft.AspNet.Mvc 5.2.6.

.

Что означает оператор ==?

1 Ответ

0 голосов
/ 20 июня 2019

Paket - проект с открытым исходным кодом. Давайте копать источник. Анализ файла paket.dependencies доступен на GitHub. Вот логика:

match splitVersion text with
    | "==", version :: rest -> 
        let v = SemVer.Parse version
        VersionRequirement(VersionRange.OverrideAll v,parsePrerelease [v] rest)
    | ">=", version :: rest -> 
        let v = SemVer.Parse version
        VersionRequirement(VersionRange.Minimum v,parsePrerelease [v] rest)
    | ">", version :: rest -> 
        let v = SemVer.Parse version
        VersionRequirement(VersionRange.GreaterThan v,parsePrerelease [v] rest)
    | "<", version :: rest -> 
        let v = SemVer.Parse version
        VersionRequirement(VersionRange.LessThan v,parsePrerelease [v] rest)
    | "<=", version :: rest -> 
        let v = SemVer.Parse version
        VersionRequirement(VersionRange.Maximum v,parsePrerelease [v] rest)
    | "~>", minimum :: rest -> 
        let v1 = SemVer.Parse minimum
        VersionRequirement(VersionRange.Between(minimum,twiddle v1),parsePrerelease [v1] rest)
    | _, version :: rest -> 
        let v = SemVer.Parse version
        VersionRequirement(VersionRange.Specific v,parsePrerelease [v] rest)
| _ -> failwithf "could not parse version range \"%s\"" text

источник

Таким образом, == установит VersionRange на OverrideAll. Это повлияет на IsGlobalOverride.

member x.IsGlobalOverride =
    match x with
   | OverrideAll _ -> true
   | _ -> false

источник

Чтобы сделать вывод, == переопределит пакет в данной версии, а если нет, будет использован текущий пакет в версии givern. Это грубое понимание, пожалуйста, и любой подробный ответ рядом.

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