Category Archives: Visual Studio 2017

How to get the location of nuget.exe used by Visual Studio?

I have seen this question asked in a MSDN forum, and it’s the same question that I asked myself some months ago when I decided to adopt MSBuild to replace a custom builder that I was using for years, and as part of the build I wanted to download the latest source code.

The answer is that Visual Studio doesn’t use nuget.exe, so you can’t get its location. Instead, Visual Studio uses an extension for NuGet. For Visual Studio 2015, if you go to the folder C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\, you will find it in some of the folders with random names where machine-wide Visual Studio extensions are installed. For Visual Studio 2017 Community Edition, you can find it inside C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\NuGet:

Furthermore, you may want to use the Build Tools 2017 instead of the full Visual Studio 2017 IDE on a build machine.

So, how can you get nuget.exe installed on a build machine?  Easy! You need to download it from: https://www.nuget.org/downloads. 

Differences between Visual Studio 2017 Community and Professional editions

In the last weeks and months, I am seeing a lot of confusion and doubts in the forums and with the clients of my company about which Visual Studio edition can be used, which are the functionalities and what differentiates the Community edition from the Professional edition.

If we go back many years ago:

  • Visual Studio .NET 2002 / 2003 was initially a paid product in all their editions.
  • In Visual Studio 2005, Microsoft released the “Standard” and “Professional” editions, introducing also the “Express” edition, which was a limited free edition intended for neophytes, hobbyists, newbies and the like. The Visual Studio 2005 Express edition had flavors: Visual Basic 2005 Express Edition, Visual C++ 2005 Express Edition, Visual C# Express Edition, Visual J# Express Edition and Visual Web Dev Express Edition.
  • Visual Studio 2008, 2010 and 2012 followed suit offering flavored Express editions, which legally could be used within companies, but were severely limited for a professional use. For example, they didn’t allow extensions (add-ins, packages, etc.).
  • Visual Studio 2013 also offered flavored Express editions, but it introduced a new “Community” edition, which was intended for professional use and removed many limitations of the Express editions. For example, it allowed extensions.
  • Visual Studio 2015 also offered the Community edition while preserving the Express 2015 for Windows Desktop, Express 2015 for Web and Express 2015 for Windows 10.
  • Visual Studio 2017, at the time of this writing, doesn’t offer Express editions, only the Community edition.

So, if you want to use Visual Studio 2017, your only choices are the Enterprise edition, the Professional edition and the Community edition. And the most common question is: which are the differences between the Professional and the Community edition? Likely you may have also read that the Community edition is almost identical to the Professional edition, so, why to pay for the Professional edition?

There are two aspects that you need to consider: the legal aspect and the technical aspect.

From the legal point of view, Visual Studio 2017 Community edition is free (it requires registration with a Microsoft account, though) but the license doesn’t allow you to use it in all scenarios. The legal document for your lawyer is here:

Microsoft Visual Studio 2017 Community Edition License Terms

which in short specifies this:

  • If you are an individual (you don’t belong to an organization), you can use the Community edition to develop and test applications, even applications that you sell.
  • If you belong to an organization, then there are two cases: your organization is a “non-enterprise” organization, or it is an “enterprise” organization.

An “enterprise” is any organization and its affiliates who collectively have either:

(a) more than 250 PCs or users

or

(b) one million U.S. dollars (or the equivalent in other currencies) in annual revenues

“Affiliates” means those entities that control (via majority ownership), are controlled by, or are under common control with an organization.

  • If your organization qualifies as “non-enterprise” organization, then up to 5 developers can use the Community edition. The 6th developer would have to pay for a Professional edition.
  • If your organization qualifies as an “enterprise” organization, then:
    • Any number of users can use Community edition to develop and test applications in the following scenarios: classroom training and education, academic research, Visual Studio extensions projects or open source projects.
    • No user at all can use the Community edition if it is not for classroom training and education, academic research, Visual Studio extensions projects or open source projects. This is an important difference with the Express editions, which, for example, allowed a single system administrator in a large organization to use legally the Express edition to create scripts. In this scenario, she cannot use legally the Community edition, even if she would be the only user of Visual Studio within the enterprise organization.

From the technical point of view, the resource to be read by you or your team lead is the following:

Compare Visual Studio 2017 IDEs

If you compare row by row the columns “Visual Studio Community” and “Visual Studio Professional” you will find only two differences:

  • “Enterprise” is a supported usage scenario for the “Professional” edition, but not for the “Community” edition.
  • The Professional edition supports “CodeLens”, while the “Community” edition doesn’t. If this feature is important for you, either pay for the Professional edition or vote the CodeLens for Community Edition suggestion on UserVoice. There are also reports that installing SQL Server Data Tools (SSDT) brings CodeLens to the Community edition, at least for Visual Studio 2015.

Extension Microsoft Visual Studio 2017 Installer Projects now available

Visual Studio 2010 offered some Visual Studio Installer projects that were removed in Visual Studio 2012, being replaced by a limited edition of InstallShield. That was not a very popular decision so Microsoft restored the Visual Studio Installer projects for Visual Studio 2013 in the form of an extension:

Microsoft Visual Studio 2013 Installer Projects

And for Visual Studio 2015 a new extension was released:

Microsoft Visual Studio 2015 Installer Projects

And now that Visual Studio 2017 has been released (and the InstallShield project is not even provided), a new extension has been released:

Microsoft Visual Studio 2017 Installer Projects

Once installed through the Extensions and Updates dialog:

it provides the new installer projects templates: