Не удалось найти версию '4.2.1.188' пакета 'Glass.Mapper' - PullRequest
0 голосов
/ 21 июня 2019

Я новичок в инструментах Sitecore и Glass.Mapper. Я работаю с Visual Studio 2013 и Sitecore 8.1 для решения, над которым я начал работать (не автор).

Из-за других вопросов, которые я наблюдал, я попытаюсь продемонстрировать, что теперь есть в моем решении для устранения ошибок сборки.

Мой файл packages.config содержит следующее:

<package id="Glass.Mapper" version="4.2.1.188" targetFramework="net45" />
<package id="Glass.Mapper.Sc" version="4.2.1.188" targetFramework="net45" />

Мой nuget.config включает в себя следующее:

<?xml version="1.0" encoding="utf-8"?>
  <configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSources>
    <add key="nuget v2" value="https://www.nuget.org/api/v2" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>

Я добавил их как ссылки на проекты к каждому из них Dlls из нашего каталога Packages, который также включает в себя несколько проектов:

  <package id="Glass.Mapper.Sc.CastleWindsor" version="3.3.0.25" targetFramework="net45" />
  <package id="Glass.Mapper.Sc.Core" version="4.2.1.188" targetFramework="net45" />
  <package id="Glass.Mapper.Sc.Mvc-5" version="3.3.0.45" targetFramework="net45" />

Количество ошибок в решении уменьшено с нескольких сотен до ~ 20, в основном из-за этой проблемы, а также ошибок Metadata file "..." could not be found, которые появляются, поскольку зависимые проекты не могут создать свой проект Dlls.

Мы не можем обновить Nuget на месте, и мы не можем выполнить обновления с использованием Manage Nuget Packages for Solution из-за кода, который ссылается на устаревшие методы в пакетах ключей.

1 Ответ

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

Если вы просматриваете пакеты на nuget.org с помощью своего веб-браузера, вы можете угадать шаблон для просмотра конкретной версии пакета. Итак, версия 4.2.1.188 GlassMapper будет использовать URL https://www.nuget.org/packages/Glass.Mapper/4.2.1.188

Там я вижу сообщение, говорящее

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

Таким образом, пакет существует, поэтому существующие пакеты должны иметь возможность восстановить его, но владелец исключил его из списка, чтобы уменьшить вероятность того, что новые проекты начнут его использовать. Интересно, что владелец пакета исключил из списка все версии пакета, предполагая, что пакет устарел.

В любом случае, как я уже упоминал, обычно пакет все еще можно восстановить (вот в чем смысл исключения из списка и удаления). Поэтому я думаю, что версия NuGet, которая работает с Visual Studio 2013, не поддерживает незарегистрированные пакеты, поскольку она действительно очень старая.

Вы можете скачать nuget.exe с nuget.org/downloads, восстановить из командной строки и затем использовать Visual Studio. В противном случае вам, вероятно, понадобится перейти на более новую версию Visual Studio.

...