I cannot see all versions of a NuGet Pacakge - visual-studio-2012

I am doing some investigation of NuGet to determine if I can use it to distribute various software components. All of these components are C++ based so I'm using CoApp PowerShell Tools to create the NuGet package files. I have placed these .nupkg files on a network folder for distribution. However, when accessing the packages via Visual Studio 2012, I can only see the latest version. Is there a way to view all of the versions of a particular package?
Here is the network folder:
Here is what I see in Visual Studio 2012:

You're supposed to only see the latest version. If you want to install a specific version, you'll have to use the Package Manager Console.
Install-Package SYS_STANDARDS -Version 1.3.1.0
If that isn't acceptable for your requirements, then Nuget isn't the best way to distribute your code.

Newer versions of Visual Studio have a drop down menu that can be opened to view and select different versions of a package

Related

What is Microsoft.VisualStudio.Azure.Containers.Tools.Targets package?

When I create a project in .NET Core 2.1. These is the package Microsoft.VisualStudio.Azure.Containers.Tools.Targets is already included in my project. I can't find any documents for that.
Can anyone tell me what is it?
Thanks in advance.
Microsoft.VisualStudio.Azure.Containers.Tools.Targets package is added in VS2017 when Docker Support is selected for the project. It enabled Visual Studio Tooling for Docker file.
Removing this package may give you errors if you intend to Dockerize your project/application in Visual Studio 2017.

What exactly does the Android SDK Manager do?

I downloaded the Android SDK only, without Android Studio, which I don't need. For Windows, the SDK is delivered as a zip file, and you unpack it to the folder of your choice. Following the unpacking, I ran the file android.bat, which launched the GUI for the SDK Manager and I downloaded further packages.
My question: Does the SDK Manager do anything other than downloading and unpacking packages? For example, does it kick off any background processes or services? And if so, how are those managed, since the GUI does not have means to control them?
PS: I'm tagging this question w/ Android Studio as it's the most closely related subject.
I am on Windows 7.
From https://developer.android.com/studio/intro/update.html
"The Android SDK Manager provides the SDK tools, platforms, and other components you need to develop your apps."
So yes, it allows you to install and update the various versions of the Android SDKs and tools. It doesn't run any additional processes.

Create a nuspec from csproj with GUI

I have a C# project which has a 2 Project References from projects within my Solution.
It also has 5 NuGet package references from packages in my NuGet repository.
Given the .csproj, How can I generate or create the nuspec file using NuGet Project Explorer tool?
And how to validate if this nuspec is indeed correct?
You can do this using NuGet.exe with the command line similar to:
NuGet.exe spec Project.csproj
To do this from within Visual Studio you could add a new External Tool (from the Tools menu) which uses NuGet.exe.
NuGet Project Explorer supports NuGet packages but not project files so one of the above techniques would be simpler. For the NuGet Project Explorer you would need to write a custom addin.
For validation, NuGet.exe will generate the .nuspec file so it should be valid. Also when you use NuGet.exe pack YourNuspec.nuspec it will be validated when you create a NuGet package with warnings output to the console.

Resharper changing Nuget package DLLs when Visual Studio starts

I'm having an issue with my solution, where opening Visual Studio will cause some of my Nuget package DLLs to be overridden.
I've found this only happens when Resharper is installed. Uninstalling it, or suspending it makes the problem go away.
I'm finding that it's only happening for Nuget packages in my local repository, and the overridden DLLs look incomplete (possibly an older version, but still signed as the latest version). Building the solution then fails. I need to revert the DLLs in source control, then build for it to work.
I've tried finding references to old versions of the Nuget package in my solution, but there aren't any.
Does anyone know how to stop Resharper changing my DLLs when Visual Studio loads?
And, any suggestions about what might be the bigger issue with my Nuget packages?
Issue, seems, that you changed your local copy of DLL from package content in packages folder.
It's bad practice. If you need to modify DLL inside some package - you better to create your own package with necessary DLLs.

How can I programmatically determine if the Visual C++ Runtime 8.0 is installed?

I have an InstallShield installation that uses custom actions that depends on the Visual C++ Runtime 8.0 sp1. In the past, I was able to install the runtime using the merge module provided by Microsoft with Visual Studio. Based on the way the Visual C++ Runtime 8.0 sp1 side-by-side installation works on Vista, the runtime cannot be used until the commit sequence of the installation.
This means that I must either move the executing of my custom actions to the commit sequence (undesirable, since the installation can't be rolled back during this sequence if something goes wrong) or install the Visual C++ Runtime before my installation using an InstallShield prerequisite.
I would prefer to install the Visual C++ Runtime as a prerequisite, but a prerequisite for this is not provided by InstallShield, so I had to write my own. I was able to figure out how to configure the prerequisite to install the runtime, but I don't know how to determine if it is already installed. Is there a registry key or file version I can check to determine this?
I found blog posts that describes detect the Visual C++ Runtime 8.0 and Visual C++ Runtime 8.1. Basically, you can use the MSI Automation Interface to look for the product codes for each of the runtimes.
You could also look for the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode] where [ProductCode] is the product code for the runtime you're trying to detect (eg. {7299052b-02a4-4627-81f2-1818da5d550d} is the product code for the x86 version of the 8.0 sp1 runtime).
These methods only work to detect if the runtime redistributable package is installed; it is possible that the runtime is installed even if these methods don't indicate so (eg. if it was installed as a merge module instead of using the redistributable), but it shouldn't hurt anything to install the redistributable package in this case.

Resources