Why are some NuGet packages named with nuget-bot? - nuget

I went to add a NuGet package for Microsoft.TeamFoundationTracking.Client and in the list of available packages I have the options:
Microsoft.TeamFoundation.WorkItemTracking.Client
and
nuget-bot.Microsoft.TeamFoundation.WorkItemTracking.Client
The one with nuget-bot has a higher version number than the one without it. I don't ever recall seeing packages with the nuget-bot in the name. I assume there is some convention or format that this refers to.
Thanks for any explanation of what this means.

I'm not familiar with the nuget-bot packages, but if you are looking for official Microsoft binaries, you will want to look for those where the Owner is set to Microsoft (not just the author). The package you seek is most likely: Microsoft.TeamFoundationServer.ExtendedClient

Related

Which Nugets (globally) referencing a specific Nuget

We decided to have more control about which Nuget packages are allowed in our projects in the company. For that we have to analyze our already used packages first.
Is there a way to find out a specific packages is used by whom (globally)?
For example I remember that Castle.Core is used in Ninject.Extensions.Factory. But which other nugets are using this?
I would like the functionality (for not only specifically Castle.Core) https://www.nuget.org/packages/castle.core/#show-github-usage, but showing the 250+ projects (again not only specifically Castle.Core, but a choosen package).
There are related questions, which are specific for one package. For example>
Which NuGet package contains System.Web.Optimization?
My question, if is it possible to generalize this kind of questions. If there is a tool available for that.

When do you need Microsoft.EntityFrameworkCore package?

I'm a bit confused concerning the usage of the different "Microsoft.EntityFrameworkCore.*" NuGet packages.
When you have a look at the official MS documentation (which can be found here: https://learn.microsoft.com/nl-nl/ef/core/get-started/install/)
They always talk about installation of a specific package, e.g. "Microsoft.EntityFrameworkCore.SqlServer", never about installing the main core package Microsoft.EntityFrameworkCore.
In my opinion, if you do not want the add any specific dataprovider, you only install "Microsoft.EntityFrameworkCode" and next load a specific dataprovider from configuration. For example if you want both support for SQLServer and Oracle. Is this the way i should see it, or is there any other reason(s) ?
Thx for any response.
Emmanuel Nuyttens

Using Cake (C# Make) to always get latest NuGet package version

Is it possible to use Cake to always get the latest version of a specific NuGet package? I know NuGet itself only allows you to set that at the base Nuget.config level. There are some internal packages that we would like to always get the latest version of (some of our database entities), while other internal packages we don't want to force a latest (our extensions package, for example). Right now we have to go through and manually update projects that rely on those packages, and I would like to automate those "always get latest" at build.
I don't see anything using any of the NuGet add-ins, but I am new to Cake so I'm hoping I am just missing something.
Has anyone had any luck using Cake to always retrieve the latest version on the feed for specific named packages, and just use the current packages.config version for the rest?
The short answer is that you can do anything that you want.
Cake out of the box will attempt to adopt established best principles for reproducible builds.
With the preprocessor directive, you could simply omit the version information, and Cake/NuGet will fetch the latest version. However, once downloaded to the tools folder, Cake/NuGet will not fetch it again. What you could do is add a custom step in your bootstrapper to clear the tools folder each time before build, and then the latest version will be downloaded each time.
Note: This is NOT a recommended approach, but rather something custom for your setup.

What directory to extract Entity Framework 6 NuGet package to

I'm working in VS 2012. I just downloaded the Entity Framework 6 Alpha3 NuGet package.
I put it in the NuGet folder for quick access.
When I use the command
PM> Get-Package -Filter EntityFramework -ListAvailable
(and related filters 'EF6' and 'Entity')
I cannot find my download.
I can find
Glimpse.EF6. This is not what I'm looking for.
My path to the download:
C:\Program Files (x86)\NuGet\Visual Studio 2012\EF6 Alpha3
My question is where do I need to put the download file so that I can locate it when adding the solution to my project.
I understand how I will add the package to every solution I wish to use it in. I have read the MSDN and codeplex documentation.
I understand that I am merely looking for the package to add to my solution. This is my problem. I put it in the NuGet Program folder and am still unable to find this.
I am sure I'm missing something simple. I am just asking where to put the download of the Alpha3 version of EF6 so that I can locate it using the -ListAvailable command.
Thanks!
From what I can read from your question and comments, it seems like you are missing the basic understanding of how NuGet works and how to use it.
I would highly recommend that you start by reading some documentation about NuGet. The Getting Started page provides a brief introduction, and pay especially good attention to the section named Working with NuGet Packages.
docs.nuget.org is an extensive resource to everything you might need to know about NuGet. The first four links should provide you more than enough information:
Overview
Installing NuGet
Managing NuGet Packages Using The Dialog
Using the Package Manager Console
To answer your specific question about where NuGet packages gets download: the default location is in the packages folder at the root of your solution location. You should however not need to think anything about this, but instead read the above links to understad the basics of NuGet.

How to include current package version in NuGet transformation files?

I would like to include a content file into the package that should refer to the current version of the package being installed (more precisely to the package folder, but the only varying part is the version).
Is there a special syntax (e.g. $packageversion$ - does not work) to include the version number into a transformed (.pp) content file?
Alternative: I can access the version from the install.ps1 and I can also invoke Add-Content (i suppose that will also apply the transformations), but how can I extend the replacement placeholders?
The variables you can use (like $rootnamespace$) are the ProjectProperties so you won't be able to access the version number.
As a workaround, you could try naming the file as part of your build step that creates the NuGet package.
If you think it'd be good to see this added to NuGet, it's worth starting a discussion on the NuGet site, the developers are pretty active there :-)