This is a migrated thread and some comments may be shown as answers.

2021.1.119.480 missing dependencies

4 Answers 485 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Jared
Top achievements
Rank 1
Jared asked on 23 Feb 2021, 02:45 PM
Looks like 2021.1.119.480 depends on the Telerik.UI.for.Xamarin.Documents.* and Telerik.UI.for.Xamain.Zip packages but those are not included in Telerik.UI.for.Xamarin.2021.1.119.1.nupkg. Can this be fixed please?

4 Answers, 1 is accepted

Sort by
0
Lance | Manager Technical Support
Telerik team
answered on 23 Feb 2021, 04:05 PM

Hi Jared,

It looks like you're accidentally mixing assembly reference and NuGet methodologies. Let's take a step back so I can explain and then show you  how you can fix it.

Understanding Version Suffix

The first 3 number are the release information

  • 2021 is the year
  • 1 is the major R number. We have 3 major releases a year (R1, R2 and R3)
  • 119 is the month nd day number. In this case, it's January 19th

Combining that information, you will get Telerik UI for Xamarin R1 2021 (released on 1/19/2021). However, that 4th digit is different.

For UI for Xamarin we use the last number to differentiate between the DLLs and the NuGet package

  • If you see .480 at the end, it is a DLL's version number
  • If you see .1 at the end, then it is a NuGet package's version number

I recommend switching to the NuGet package instead of assembly referencing the DLLs. Let me show you both approaches.

Using NuGet Packages (Recommended)

If you don't want to manually handle dependencies, then I strongly recommend that you switch to using only NuGet package. It's better is you just start fresh, it will only take 5 minute to follow my steps below.

Here's how to fix the problem you're having, right away:

  1. Confirm you have Telerik NuGet server listed as a package source (tutorial here)
  2. Remove all Telerik references from every project
  3. Right-click on the solution and select "Manage NuGet packages for Solution"
  4. Select the Telerik NuGet server as your package source
  5. Search for "Telerik.UI.for.Xamarin"
  6. Install only "Telerik.UI.for.Xamarin" to every project

 

Sub-Packages

If you only want to use sub-packages for a specific control, then you must choose the package responsible for that control's namespace. For example, if you are only using the RadListView, then you would only install Telerik.UI.for.Xamarin.DataControls (let NuGet automatically restore the .Input and .Common dependencies)

Using Assembly References

In such a case that you are referencing DLLs directly, and you want to keep doing it this way, you must also manually add all the required dependencies yourself.

You will find all the assemblies in the installation folder

 

Important: Always visit the "Getting Started" article for any control you are using. We have a getting started article for every component where we clearly list the DLL files, or the NuGet package name, that you need to reference in order to use that control.

As an example, let's use the RadButton Getting Started article - Getting Started with Xamarin.Forms Button Control | Telerik UI for Xamarin. In step 2, you will see a table explaining the DLLs needed and what folder to get them from


Regards,
Lance | Manager Technical Support
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

0
Jared
Top achievements
Rank 1
answered on 23 Feb 2021, 04:11 PM

Yeah, sorry, I wrote it wrong but the forums don't let me edit my post for some reason. When I download Telerik.UI.for.Xamarin.2021.1.119.1.nupkg from the downloads page and push it to our NuGet server, then update it in my app, I get these types of errors.

 

Unable to find package Telerik.UI.for.Xamarin.Documents.Spreadsheet.FormatProviders.Xls. No packages exist with this id in source(s): [My-Source]

Unable to find package Telerik.UI.for.Xamarin.Zip. No packages exist with this id in source(s): [My-Source]

Unable to find package Telerik.UI.for.Xamarin.Documents.Fixed. No packages exist with this id in source(s): [My-Source]

 

When I open the .nupkg for 2021.1.119.1 I don't see those libraries in there. When I open an older version, such as 2020.1.318.1, I do see them in there.

0
Lance | Manager Technical Support
Telerik team
answered on 23 Feb 2021, 04:49 PM

Hi Jared,

That is because you didn't publish the dependency's package(s) to your server. The error you see is expected if you only have [MySource] as the only package source, and the Document Processing Library packages are not there.

If you want to go completely off our server, you must also copy and push all the dependent packages. I explain using your own artifacts feed in my blog post (the last section) Azure DevOps and Telerik NuGet Packages

To understand what those are, you will need to review the nuspec for each package you want to keep offline. If you do not want to not review the nuspec, you can always just deal with every error that you see until it works (your error list explains exactly the missing packages that you need to push to your server).

  • If you're asking why, the duplicate package isn't bundled. It's because we now have the Document Processing Libraries available as .NET Standard 2.0 packages on the server. So we no longer need to bundle it, preventing unnecessary bloat (the packages get restore by nuspec).
  • If you are asking how to get the other packages, those are served by our NuGet server. You can just go into your local cache (open %userprofile%\.nuget\packages) to find the packages.

In addition to those 3 packages, while you're in there, I would also grab the other Document Processing Library packages that you might need. For example, here's just the class library's nuspec dependencies list (repeat for all other target projects)

General Advice

Unless you are a military/government developer that has to be 100% offline, I recommend that you don't try to manage your own server. It eventually becomes a nuisance after a few releases and can be a potential source of redistribution violations (if the source isn't password protected).

My best advice is to just add a nuget.config and store your account credentials in a protected source (i.e. as an Azure Service Connection or GitHub secrets). My blog post walks you through all of it with a video and a few demo projects.

Technical Support

If you  have any trouble, please open a Technical support ticket instead of a forum thread. While we usually encourage sharing information in the forums, this case will be very specific to your needs after this point. You can open a ticket here https://www.telerik.com/account/support-tickets 

Regards,
Lance | Manager Technical Support
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

0
Jared
Top achievements
Rank 1
answered on 23 Feb 2021, 07:10 PM

Thank you for the reply. I guess my question was why, which you answered. I never had to publish the document processing libraries before, so I wasn't sure why I had to now. And the sheer number of them made me post on here asking why before just publishing them myself, which I agree with you, would be an absolute pain to do.

I will follow your blog post and get it setup that way. I appreciate the quick responses, thank you!

Tags
General Discussions
Asked by
Jared
Top achievements
Rank 1
Answers by
Lance | Manager Technical Support
Telerik team
Jared
Top achievements
Rank 1
Share this question
or