MSTest in Express editions of Visual Studio 2010 - visual-studio

I'm leaning toward using MSTest as unit testing framework for a new project but I'm concerned with cutting off developers (maybe even myself in the future and/or in some specific environment) using Express editions of Visual Studio.
I know MSTest wasn't available in VS2008 Express but with Microsoft pushing unit testing in recent years I guess they could've added it to VS2010 Express. However I couldn't find any info on this in the list of Express features and I don't want to download and install express just to verify this.
So, is MSTest supported in Visual Studio 2010 Express?

It does not appear in Microsoft's list of features of Visual Studio Express 2010, and it would appear (according to this blog post) that it is not supported. Since express editions do not allow add-ins, you cannot even use something like TestDriven.net to run tests from within Visual Studio Express editions.
If you were to use NUnit for testing, you may get more mileage. That blog post shows a way of running/debugging NUnit tests using a bootstrapper, but an easier way is to set NUnit as the start action (in Project Properties -> Start External Program), and then passing the name of your dll as an argument. This will start and run NUnit when you run/debug your project, allowing you launch your tests from within Visual Studio, and also debug them if needed.

Related

Testing in Visual Studio 2013

I heard there have some built in option for testing(Nunit etc..) in visual studio.let me know the best method for testing MVC4 web application using with this methods.and i am using VS2013 profession edition.
There is MSTest which is available in visual studio.
Get started with developer testing tools

Does MSbuild require Visual Studio to be installed on the build server?

Can we use MSBuild without Visual Studio 2012?
Currently, we have a build server where we are compiling and creating deployment copy of one of our projects, it has Visual Studio Professional Edition installed. We are setting up a new build server now. Do we really need Visual Studio 2012 on the new build server?
If yes, then how? I googled it but I couldn't find an answer.
We have spent a lot of time trying to get our Build Servers to work without Visual Studio.
We do not use TFS for builds and therefore I am not sure the license exemption above applies to us. Also not having Visual Studio installed helps you really understand how your software is building and get references correct.
We have seen many examples of solutions with projects that contains references for the same piece of software with some in nuget packages shipped with the solution and others that are pointing to locations in the "program files" path which are not present on machines without Visual Studio installed. Once you attempt to build software without VS installed you can really see how "self-contained" your applications are.
Before I start listing the things you typically need to install, let me just point out that MS Build is now no longer considered part of the .NET framework but is shipped with Visual Studio but can also be installed separately. See this blog post for more: http://blogs.msdn.com/b/visualstudio/archive/2013/07/24/msbuild-is-now-part-of-visual-studio.aspx
The following software needs to be installed for most builds, there may be others for example if you are creating portable class libraries.
Microsoft Build Tools 2013
Web Deploy 3.5 (for packaging applications)
Microsoft .NET Framework 4.5.1 Developer Pack
Microsoft .NET Framework 4.5.2 Developer Pack
Windows Software Development Kit (SDK) for Windows 8 (You can use the SDK to build applications that target these operating systems: Windows 8, Windows 7, Windows Vista, Windows Server 2012, Windows Server 2008 R2, Windows Server 2008)
The following directories need to be copied:
Reference Assemblies (need to be copied from a machine running Visual Studio from/to directory C:\Program Files (x86)\Reference Assemblies)
Public Assemblies (need to be copied from a machine running Visual Studio from/to directory C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies
We also use Wix and therefore we install the following:
WIX Toolset 3.8
I have a similar set for testing however that was not part of the question so I will leave that off!
Hope this helps someone.
Update: 3rd March 2017
Microsoft recently responded to a long standing user voice request "Support .NET Builds without requiring Visual Studio on the server" for the requirement for Visual Studio to be installed on a build server to be removed.
From the description on the download page "These Build Tools allow you to build native and managed MSBuild-based applications without requiring the Visual Studio IDE." Not tested yet but after RTM I will look at this and provide a further update here.
There is a blog post that promises these build tools install all pre-requisites and can be used to build MS Build based applications.
No, you don't need Visual Studio on your build box. If I recall correctly, msbuild is installed as part of the .NET framework - it certainly used to be.
Depending on what you're building, you may find that there are some things which are easier to get working if you do install Visual Studio though - things like portable class library profiles. While there are usually non-VS installers available, I've found it simpler to install an Express edition of Visual Studio just to get the bundled build targets.
Remember: The easiest way to build your visual studio solutions is to install Visual Studio on the build server. Even Visual Studio Express is often enough.
That said, you can make it work without it. But it it sometimes a lot of work to figure out. You'll need to install the right Windows / .NET Platform SDK. You can install multiple of these SDKs side by side. Now, when you depend, for example, on ASP.NET MVC 5 or Entity Framework 6, you might need to install further SDKs to get your application to compile. The downloads for these all assume that you also have Visual Studio installed, but many of their payloads can also be installed separately. It can become quite a hassle.
Personally I've grown tired of trying to figure out which parts of which installers enable what. But that is also driven by the fact that Microsoft allows you to install Visual Studio on a build server (TFS) with the same license as your development machine as long as you are an MSDN subscriber. Check the Visual Studio License Whitepaper for more details.
Using Visual Studio on the Build Server
If you have one or more licensed users of Visual Studio Ultimate with MSDN, Visual Studio Premium with MSDN, or Visual
Studio Professional with MSDN, then you may also install the Visual Studio software as part of Team Foundation Server
2013 Build Services. This way, you do not need to purchase a Visual Studio license to cover the running of Visual Studio on
the build server for each person whose actions initiate a build.
If you, like me, would prefer this to change in the future, I suggest you make sure you're heard by submitting your request or voting for an existing one over at the Visual Studio User Voice.
Here's just a quick take on this.
Your build machine should decouple development tools as much as is possible. With that said, and as already stated by others here, MSBuild can be run independently of Visual Studio, and it should!
If your build requires Visual Studio to run then there is a very good chance that you have a solution or project architecture problem that ought to be resolved.
Visual Studio doesn't need to be installed. MSBuild is part of the .net SDK.
Other .net dependencies will need to be installed though, if you are using them. MSTest, or anything that is part of Team foundation will require Visual Studio installed.
I believe you only need MSBuild ( that is part of the .NET framework you're targeting ) .
Make sure you install the proper .NET distribution
the following is a good place for build servers it have the developer tooling.
The .NET Framework 4.5.1 Developer Pack installs the multi-targeting pack for .NET Framework 4.5.1. Developers can build applications targeting the .NET Framework 4.5.1 using either Visual Studio 2012 or third party IDEs. You need to download the web installer instead of this package if you intend to redistribute .NET Framework 4.5.1.
http://www.microsoft.com/en-us/download/details.aspx?id=40772
Best of luck.
C++ :
There is a "Build Tools" that contains MSBuild, Visual studio is not required.
From the official doc :
These tools allow you to build C++ libraries and applications
targeting Windows desktop. They are the same tools that you find in
Visual Studio 2015 in a scriptable standalone installer. Now you only
need to download the tools you need to build C++ projects.
Managed :
The same applied : Build Tool Managed

Install Web Performance and Load Test Project Template into Visual Studio Professional 2012

I want to do load testing inside Visual Studio Professional 2012. According to the tutorial here http://msdn.microsoft.com/en-us/library/vstudio/ms182551.aspx, under File > Add > New Project > Installed Templates > Visual C# > Test there should be a project template called Web Performance and Load Test Project.
But there is none in my tool. VS only presents Unit Test as here:
http://dl.dropbox.com/u/103580364/temp/pordiva000005.jpg
I searched inside online templates the keyword "performance" but there was no such a template again:
http://dl.dropbox.com/u/103580364/temp/pordiva000006.jpg
How can I find and install that project template called Web Performance and Load Test Project?
I believe you cannot do that. Web performance and load tests are only available within Visual Studio Ultimate edition. See http://www.microsoft.com/visualstudio/eng/products/compare
In summary, there are five version of Visual Studio
Express, the free version. Limited in functionality. Does not support extensions.
Professional, has most of the development tools.
Premium, adds Coded UI testing
Ultimate, adds web performance and load testing.
Test professional, has some test tools but no development tools.
In addition to #AdrianHHH answer:
Running Visual Studio 2015 you will find it in the renamed Enterprise Edition.
VS2015 reduces to three versions:
Visual Studio Community Free, fully-featured IDE for students,
open-source and individual developers
Visual Studio Professional Professional developer tools, services,
and subscription benefits for small teams
Visual Studio Enterprise End-to-end solution to meet demanding
quality and scale needs of teams of all sizes
Basic info at Visual Studio 2015 pricing
In detail at Visual Studio 2015 Licensing White Paper

Specflow with Visual Studio express

I have used Specflow in Visual Studio 2010 Pro at work but would like to use it on my personal projects. Unfortunately I only have VS210 Express.
I have not managed to get Specflow working in VS2010 Express. has anyone done this or is it even possible.
thanks,
I have managed to do this, and I have written a blog post on how to do this entitled: "C# ATDD on a shoestring (or the complete guide to SpecFlow & NUnit in VS2010 Express)"
The main idea is: SpecFlow generates fixtures for one of the common Unit-Test-Frameworks. More information you can find here.
I suppose that you loose some Item templates that appear in the Visual Studio Professional but disappear for Visual Studio Express versions. To overcome this problem you should take all templates files from SpecFlow application folder on computer where you have Professional version installed. On my computer it is located here:
C:\Program Files (x86)\TechTalk\SpecFlow\ItemTemplates
There should be the files like: SpecFlowFeature.zip and etc, all with *.zip extension. Then you should copy its to your computer for this place:
C:\Users\[User name]\Documents\Visual Studio 2010\Templates\ItemTemplates\Visual C#
And finally, open Microsoft Visual C# 2010 Express. Create console application, for example. And choose Project -> Add new item. There is only possible to open these templates with Microsoft Visual C# 2010 Express. Because inside template files it was defined that templates could be open only with C# project type.
You can't use 3rd party add ons (like Specflow, ReSharper etc.) with the Express editions of Visual Studio. I can't find the reference right now, but this will be why you can't integrate Specflow.

"Visual Studio Integration Package" vs "Visual Studio Add-in": what is the difference?

When creating a new extension for visual studio, there are two project options: "Visual Studio Integration Package" and "Visual Studio Add-in". What is the difference between the two project types and when would you use one over the other?
Ok, you can find a full detailed comparison here (there are also links to the previous parts in the series).
But basically, add-ins were available as the VS extension type from the very first versions of the VS and built as the COM components. Later on, some limitations were discovered in that approach, so the new extensibility feature was created -- namely VS SDK package.
Probably, if you are building an extension for VS 2008+ you should target the VS SDK package as the newer technology. Another strong point of the VS package is better integration with the Visual Studio.
Whatever you do, add-ins are an
external thing for Visual Studio while
VSPackages are a completely integrated
part of the IDE.
You still might consider building an add-in, if
you need access to high-level extensibility API, as opposed to low-level fundamental API available from a VS package;
you develop in Visual Basic (templates for VS Package are available only in C# / Visual C++);
you want to automate a simple task / common scenario, then add-in will probably require less development effort.
Important point on Visual Studio Add-in vs Package, Add-ins are deprecated in VS 2013 and will not be available in VS "14"
Add-ins Deprecated in Visual Studio 2013
Visual Studio "14" CTP: add-ins are gone
"Official" guidance from How to: Create an Add-In is "Visual Studio add-ins are deprecated in Visual Studio 2013. You should upgrade your add-ins to VSPackage extensions...."
An integration package is something that can be chosen when you start a new project (like how you pick C# or VB).
See http://www.bitwisemag.com/copy/features/dev/visual_studio/vs2005_integration_1.html.
Add-ins work just like they would for MS Office applications. You can add your own custom buttons and menu items. Here is an example: http://www.c-sharpcorner.com/UploadFile/mgold/AddIns11292005015631AM/AddIns.aspx.

Resources