Visual Studio Pro 2010 - Modelling Projects? - visual-studio-2010

I have VS2010 Pro - at my uni I can start a Modelling Project, to plan projects with UML, but here at home the template set isn't there...
Is there something I need to install/do to get this functionality?

Many of the architect features in Visual Studio 2010 is only available in the Ultimate Edition. Which version do you have at home ? The Express version does not include UML modelling (other than Class Diagram I believe).
You can see a comparison diagram here. I think the features you are looking for is the Architecture Explorer and "UML® 2.0 Compliant Diagrams (Activity, Use Case, Sequence, Class, Component)", which is only available for Ultimate.

Related

Developing Visual Studio addins for multiple versions of Visual Studio

I've been given the task of developing some extensions for Visual Studio for our internal use. These will have to support a couple of different versions of Visual Studio (VS2008, 2010 and 2012 - VS2005 would be a nice to have but not essential). I'd like to develop these in as consistent a way as possible, reusing as much of the code as possible, while fitting it into the existing project structure for these kinds of tools, which is a Visual Studio 2012 .sln.
What's the best / easiest way of developing this kind of extension? A VSPackage project? Can I make a 2008-compatible VSPackage which is developed in VS2012?
The features I will need for the extensions I'm writing at the moment are pretty basic - I need to create Tools menu commands, possibly a custom toolwindow. My requirements might change later on but I don't need editor adornments or anything like that at the moment.
I saw this question which might seem to be a duplicate, but the answer which was accepted doesn't answer the question, so...
It really depends on what is your extension going to do.
VS2008 does not support extensions (.vsix) and you will need to write VSPackage deployed as msi for it. You also won't have access to many new features introduced in VS2010 (easier editor integration and access to vs services via MEF), but basic stuff such as manipulating solution/project/files should be fine and work on all versions (e.g. using DTE should be ok).
As far as I remember for VS2008 you will also need to obtain a PLK, which is no longer required for 2010 and 2012.
I haven't tried developing 2008 package in VS2012, but you definitely can develop 2010 extension in 2012.
Also remember that VS2008 is .Net 3.5, so your code should use .net 3.5 and version of c# which it supports to be portable.

Limitations of Visual Studio 2012 Express Desktop

I'm in the process of deciding whether or not to use Visual Studio 2012 Express for Desktop or purchase a retail copy of Visual Studio 2012 Professional for my desktop program. The program is built using C# though portions of it may include F#.
From what I've gathered so far, the express edition supports NuGet, Unit Testing, and Code Analysis. It mentions a subset of Code Analysis rules are used but I'm unsure how they compare to the professional edition as well as FxCop/StyleCop.
I'm assuming the express edition lacks extension support but the only extension I really cared about was NuGet. I also assume it doesn't include a TFS CAL despite having the ability to connect to TFS. This again isn't an issue as I'm using Perforce for source control. I also understand that this version is limited to desktop style applications only, but have so far only seen mention C++ and C#. Does it support F#?
Can someone clue me in as to any other limitations of 2012 Express for Desktop? Are there any license limitations for developing a commercial application?
In the past, MS included express editions as part of their version comparison. But when they updated their site for 2012, they separated out the express editions and offer little to no detail.
There are few limitation I can gather :
First of all there are different IDE's for different use
Visual Studio Express 2012 for Web.
Visual Studio Express 2012 for Windows 8
Visual Studio Express 2012 for Windows Desktop.
Visual Studio Team Foundation Server Express 2012
Express editions of the IDE omit the following features included in the Professional editions
Multi-unit testing framework and refactoring support
Static code analysis, profiling, and HLSL editing and debugging
Third-party extensibility support (though the Extension Manager feature is still present)
OpenMP support
But there are few positives I explore in 2012 :
Unlike previous version
Solution is allowed, you can create multiple projects in a single solutions.
64bit compilations support is there.
If working in single or less than 5 person team, express is the way to go.
It definitely bring much more new and unlock features than it predecessors.
As you receive a product key if you register I think it confirms that you then are free to use VS 2012 Express as you like.
http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express say:
"After installation, you can try this product for up to 30 days. You
must register to obtain a free product key for ongoing use after 30
days."
"Productivity Power Tools 2012" cannot be installed on VS2012 Express edition, hence such features like "Entity Framework Reverse Engineer Code First" won't be available, which is critical to migrate existing apps's DB into Model's classes.
Portable Class Libraries are not supported in express versions. (You can reference PCL dlls, you just can't work with PCL projects.)
F# is available for VS Express 2012 for Web
http://blogs.msdn.com/b/fsharpteam/archive/2012/09/12/announcing-the-release-of-f-tools-for-visual-studio-express-2012-for-web.aspx
Looks like NuGet worked with VS 2010 Express Web so I would expect it to work with 2012
http://docs.nuget.org/docs/start-here/nuget-faq
Professional gives you a lot of the profiling and static analysis tools. I couldn't find out how the FxCop rules differ.

Visual Studio 2010: How to generate component diagram from code

I got into a project that is under development for quite sometime and lacks models and documentation on the design. We are using Visual Studio 2010 Ultimate. There is one old preliminary VS architecture model and I am trying to grow it up to show how the system looks like from different perspectives.
While, I can generate the class diagrams fairly well and generate the sequence diagrams on the fly, I am stuck in generating the component diagram. I wanted to avoid the pain of generating it of my own and wished if there could be some easy process to reflect the code/implementation to a good extent. Fine-tuning is not an issue.
I expected, I could put the assemblies in the solution as components in the Model explorer. But could not. I also tried drag-and-dropping the projects to the component diagram or the namespaces/classes from the architecture explorer on to the component diagram.
Is there any easy way out?
You will need to download and install the Visual Studio SDK and the Visual Studio Visualization and Modeling SDK then create a Domain-Specific Language Solution.
MSDN for VS 2008 DSL
MSDN for VS 2010 DSL (differs quite a bit, therefore both links)
Visual Studio Development Center - DSL
Unfortunately that is pretty much all Information I could gather, as I cannot install the VS 2010 SDK even though I do have VS 2010 Professional installed. If you happen to not be able to install it yourself here is a link to a post in the Microsoft forum of someone having the same problem atm. It is still unresolved, but was just asked a little while ago.
Edit: For creating UML component diagrams with VS2010 one will need VS2010 Ultimate. I am not quite sure weather you need it to actually install the Modeling SDK also. I dont feel a need to test it on my Professional installation though and you do have Ultimate anyway.

Does Visual Studio 2010 Professional have Sequence Diagrams?

Does Visual Studio 2010 Professional have the Diagramming support announced on the web?
Do I need to install the TS version to be able to get these features ?
According to the Microsoft website, only the Ultimate Edition of Visual Studio 2010 (full relaease not Beta) comes with the UML Modelling Tools:
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/product-comparison
(Under 'Architecture and Modeling' features)
They're there -- the UML diagrams, if that's what you mean (at least in my version -- VisualStudio Team System 2010 Version 10.0.20506.1.Beta1).
Select File -> New -> Modeling Project.
Then in the Solution Explorer (the window on the right), right click on your Modeling Project (whatever name you supplied -- default is ModelingProject1). Then select Add -> New Item -> Sequence Diagram. (Or Activity, Class, Component, Layering, Use Case).
It's too early to get a definite answer: the phase when a product group defines the exact packaging and licensing is just beginning.
Heard it is available in VS2010. But not sure about edition specific features. It is yet to declare.
Check this: What’s new in Visual Studio 2010 Rosario
The Modeling tools can be found in the TS Version of Visual Studio 2010 Beta 1.
You need Visual Studio Ultimate to create modeling projects. You can read modeling projects in Visual Studio Professional.

Is there an alternative to Microsoft Code Contracts static analysis?

I am very impressed with the Microsoft Code Contracts.
Unfortunately the static analysis is only available in Visual Studio 2008 Team System and Visual Studio 2010 Premium.
We are happily using Visual Studio 2008 Professional (without MSDN). Upgrading our Visual Studio license from pro to premium is way to expensive.
Is there a good alternative?
Take a look at the MSDN Ultimate Offer for Devs. It's not cheap, but it's a lot less expensive than 2008 Team Suite. Then you can use Visual Studio 2010 from now on with Code Contracts. :)
Also, Code Contracts is different from FxCop, where the latter is what everyone is going to think you're talking about when you say "static code analysis."
I personally use the following tools to help with my code analysis needs:
CodeIt.Right can be used as an analysis tool.
FxCop quite extensive and thorough and also free
CAT tool 1.1 is a simple tool to help identify security flaws in managed code.
Concerning code contracts, take a look at DevLabs portal and click on the "Projects" link to link you to the Code Contracts project available for Visual Studio 2008 and Visual Studio 2010
The compiler that comes with the platform SDK has static analysis for free.
cl /analyze. You can configure your IDE to use it.

Resources