Nuget package readme.txt is not being updated - nuget-package

I followed the steps to create and publish a nuget package including a readme.txt. (https://learn.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio?tabs=netcore-cli)
The initial version of the readme.txt correctly opens when the package is installed. But, I made changes to the readme.txt, re-packed it, re-added it to my local nuget feed (I deleted the previous), and when I install it, it opens the initial version of the readme.txt. My changes are not in it.
The dates of the package are updated in both my bin\Release and C:\LocalNugetPackageFeed\packages.

At first, I was thinking the issue was that my package was not grabbing the latest version of the readme.txt. Here, it's because my package was being cached. To fix the issue, I went to Tools > Options > NuGet Package Manager > General > Clear All NuGet Cache(s).
After doing this, my updated readme.txt would show after installing the package.

Related

Package Manager for VS2012 does not display packages in local feed

I've created a simple package, only consisting of a couple of binaries in the
tools folder. The package is created with NuGet version 4.4.1.4656.
A local folder has been initialized with nuget init and contains said package. VS2017 Package Manager shows the package as expected, whereas VS2012 does not.
There are no available updates for the Package Manager in VS2012, which is at version 2.8.60318.667.
How do I get the feed to work with VS2012, so I can install the package in one of our older solutions? Is this a compatibilty issue?
Any pointers are welcome!

update or downgrade .csproj file after nuget restore packages from packages.config

I have many VSTS builds which has reference to one nuget package. Depending on primiary build we have to sometimes to upgrade/downgrade nuget package in VSTS build. We are doing this by copying packages.config with proper version, then we use nuget restore. My problem is that after upgrade/downgrade of nuget package .csproj file still have old version od package reference, so when build starts it still try to search for old reference from .csproj file and build fails.
I there any way to change .csproj file after nuget restore?
No, there is no way to update the .csproj during the build. You should change the .csproj locally and then build in VSTS.
Except the way manually changed the .csproj file, there has an easier way to change package versions correspondingly in .csproj. Execute below command in Package Manager Console window:
update-package -reinstall
So the workflow to use upgrade/downgrade nuget package version as below:
Change the versions in package.config file.
Run the command update-package -reinstall in in Package Manager Console window.
Commit and push/checkin the changes to remote repo.
Build your project in VSTS with the upgrade/downgrade nuget package version reference.

How to upgrade nuget packages if the installed version is missing?

Running into a situation where I deployed an application to production a few months ago and now I need to do some work on it, on an entirely new machine. The first I do is pull source and nuget restore won't restore because it can't find the particular version of the package it was developed under. When I check nuget.org for this package version it is not there. So how do I upgrade my solution to the latest binaries?
Visual Studio 2013 trying to update ServiceStack '4.0.39' to latest, which is '4.0.40' at the time of this post.
Thank you,
Stephen
The best solution I've come up with for this is to manually edit the Packages.config file(s) and set the version number to whatever you want. Restore should then work. It's not a perfect solution but it has dug me out of some holes.
(I know this is an old answer, but it just came up in some Googling)
One issue with the accepted answer (of just updating the version # in packages.config) is that this is just triggering a "package restore"--and will skip any "installation steps" the package might have (things that were done automatically when you first added the package, such as adding assembly references, modifying config files, etc.).
An alternative way would be to edit the packages.config and REMOVE the package in question from there---then start up VS and add the new version. This will trigger the package's usual install routine to do it's thing.
I recommend you to use the NuGet Package Manager Console of Visual Studio:
TOOLS > NuGet Package Manager > Package Manager Console
Command to update a NuGet package to the latest version:
Update-Package ServiceStack
Command to update a NuGet package to a specific version:
Update-Package ServiceStack -version 4.0.40

NuGet Package restore failed for project myProjectWeb: Unable to find version '3.0.1' of package 'AppForSharePoint16WebToolkit'

It's a provider hosted project. It used to work until very recently.
If I create a completely new project/solution, then it works.
If I start the old one, or redownload it from source control, I get the following error:
NuGet Package restore failed for project LocalTheaterWeb: Unable to find version '3.0.1' of package 'AppForSharePoint16WebToolkit'
I tried Update-Package -Reinstall but the problem stays.
Any ideas?
The solution of Scott Hillier did it for me:
http://www.shillier.com/archive/2014/08/05/nuget-package-restore-fails-for-sharepoint-2013-provider-hosted-apps.aspx
I often take advantage of the NuGet Package Restore capability to
reduce the size of my projects when saving or sharing them. Today, I
discovered an issue with this process when building SharePoint 2013
Provider-Hosted Apps against SharePoint Online. Here are the steps to
reproduce and the fix:
Create a Provider-Hosted App in Visual Studio 2013 using a SharePoint Online site for debugging.
Right click solution and "Enable NuGet Package Restore"
Save and Close Project
Delete the “packages” folder from project directory
Open Project in Visual Studio 2013
Rebuild, receive error “Unable to find AppForSharePoint16WebToolkit”
Open Packages.config file
Change “AppForSharePoint16WebToolkit” to “AppForSharePointWebToolkit”
Rebuild – successfully this time. Apparently, the "AppForSharePoint16WebToolkit" package is not available through the
NuGet Package Manager, but the older "AppForSharePointWebToolkit"
package is available.
The error message suggests that NuGet cannot find the AppForSharePoint16WebToolkit package in your package sources. So check the following:
The correct package source is selected whilst doing the Update-Package -Reinstall.
Check the package source that hosts the NuGet package is enabled. If you are using a recent version of NuGet the package restore should use all the enabled package sources.
See if the solution or project has its own NuGet.config which is overriding the package sources.
Without further information my guess is 3. since you say it works for a new project.
You can also run Fiddler to see what package sources NuGet is using as it tries to restore.
For older "locked down" projects with specific package version numbers that you can't update, un-check "Automatically check for missing packages during build in Visual Studio" which is found via:
Nuget Package Manager > Package Manager Settings
This means that if you toggle between newer projects and older projects you need to check and un-check this setting

How to manage own nuget package per project in the solution

We want to package some third party assemblies into our own nuget package. I created some packages with NuGet Package Explorer, and published it to our nuget server. I can also install it into our solution, however I have two problems:
Minor problem: when I install our nuget package a .nuget directory created with a packages.config in it. This contain a reference only to the package I added. We already have however several nuget packages installed into our solution. Every packages is in the packages subfolder in it's own subfolder, plus there's a repositories.config in the packages folder. The repositories config points to other packages.config, but not the one which is created by my actions into the .nuget folder. This is true even if I try to install the nuget package using the console into a specific project!
Major problem: When I look up the installed packages in the "Manage NuGet packages for the Solution...", I only see an "Uninstall" button for my package. I expect and want to have a Manage button, same what we have for the other nuget packages, which allows to check/uncheck the package per project in a treeview.
I use latest VS 2012, latest NuGet (2.2.xxx).
The problem was caused by incorrect package creation. When you create your package (with NuGet Package Explorer), on the right big "Package Contents" pane you want to create a lib folder by right click and selecting "Add Lib Folder" from the context menu. Then you want to add your assemblies into this folder instead of the root of the package content.
Having the right package structure helped achieving the expected behavior: no .nuget folder is created any more and I can "Manage" my package also.

Resources