#c# #visual-studio #nuget #devexpress #devexpress-wpf
Вопрос:
Я работаю над приложением C# WPF, основанным на компонентах DevExpress, например YshXaf.DevExpress.Charts.Core
. Мое приложение основано на версии 18.2.5 этих компонентов.
Поскольку мне нужно провести некоторое техническое обслуживание этого проекта, я установил пробную версию этих компонентов, но, похоже, это более поздняя версия.
Visual Studio попросила меня выполнить обновление, что я и сделал. В результате, просматривая ссылки моего приложения, я вижу такие записи, как DevExpress.Charts.v21.2.Core
.
Однако файл packages.config
все еще содержит старые ссылки, такие как:
lt;package id="YshXaf.DevExpress.Charts.Core_yesfree" version="18.2.5" targetFramework="net452" /gt;
Я попытался обновить это, используя Manage NuGet Packages for solution
меню «Сервис», но там я вижу (на вкладке «Установлено»):
YshXaf.DevExpress.charts.Core_yesfree v18.2.5 not available in this source installed: 18.2.5 Version: Latest stable 18.2.5
В упомянутом Version
выпадающем списке содержится только эта версия, установленной версии («21.2.3.0») нигде не видно.
Когда я проверяю вкладку «Обновления» и выбираю «DevExpress 21.2 Local» в качестве источника пакета, я вижу No packages found
. Когда я выбираю «Все», я получаю «Загрузку», которая, кажется, длится вечно.
Видел предыдущие проблемы, которые у меня были с NuGet (мне нужно было установить новую версию NuGet.exe
), я считаю, что лучший способ продолжить-вручную адаптировать версию в packages.config
файле, но какую версию мне нужно использовать?
Ссылка DevExpress.Charts.v21.2.Core
имеет 21.2.3.0
значение как Version
в окне свойств, но использование этого значения в packages.config
не решает проблему, хотя следующий файл существует: C:Program Files (x86)DevExpress 21.2ComponentsBinFrameworkDevExpress.Charts.v21.2.Core.dll
.
Сообщение об ошибке, которое я получаю (среди прочего):
Error NuGet Package restore failed for project VDS: Unable to find version '21.2.3' of package 'YshXaf.DevExpress.Images_yesfree'. C:Program Files (x86)Microsoft SDKsNuGetPackages: Package 'YshXaf.DevExpress.Images_yesfree.21.2.3' is not found on source 'C:Program Files (x86)Microsoft SDKsNuGetPackages'. C:Program Files (x86)DevExpress 21.2ComponentsSystemComponentsPackages: Package 'YshXaf.DevExpress.Images_yesfree.21.2.3' is not found on source 'C:Program Files (x86)DevExpress 21.2ComponentsSystemComponentsPackages'. https://api.nuget.org/v3/index.json: Package 'YshXaf.DevExpress.Images_yesfree.21.2.3' is not found on source 'https://api.nuget.org/v3/index.json'. https://company_NuGet.pkgs.visualstudio.com/_packaging/company_NuGetNuGetFeed/nuget/v2: Package 'YshXaf.DevExpress.Images_yesfree.21.2.3' is not found on source 'https://company_NuGet.pkgs.visualstudio.com/_packaging/company_NuGetNuGetFeed/nuget/v2'. http://10.1.3.40:81/nuget/nuget: Unable to load the service index for source http://10.1.3.40:81/nuget/nuget. An error occurred while sending the request. Unable to connect to the remote server A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 10.1.3.40:81 . Please see Error List window for detailed warnings and errors.
Что я могу сделать? Почему мой компилятор изучает C:Program Files (x86)DevExpress 21.2ComponentsSystemComponentsPackages
, когда четко определено, в чем находятся пакеты DevExpress C:Program Files (x86)DevExpress 21.2ComponentsBinFramework
?
Заранее спасибо
Редактировать
Тем временем я нашел следующую запись в реестре:
HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeNuGetRepositoryDevExpress.v21.2
Его ценность была:
C:Program Files (x86)DevExpress 21.2ComponentsSystemComponentsPackages
Я заменил его на:
C:Program Files (x86)DevExpress 21.2ComponentsBinFramework
Это не решило проблему, поэтому я верну это изменение.
Комментарии:
1. Проблема в том, что
YshXaf.DevExpress.XXX
пакеты основаны на конкретной версии компонентов DevExpress. И вы не можете изменить этот факт, просто обновив версию компонентов DX в своем проекте. Вам следует подождать, пока автор YshXaf обновит свой пакет до определенной версии DX. P.S. Обратите внимание, что DevExpress как поставщик не имеет никакого отношения к YshXaf.