views:

83

answers:

5

Hello,

Is there a way to tell if the project was done in Visual Studio 2008 Express Edition or higher (pay) versions were used? Like if you were handed over a project and they ask you what version of Visual Studio was it created with (except the obvious 2005/2008/2010 difference).

With regards,

MadBoy

A: 

I don't think so. only if you submit the entire directory and someone can see that the project was source-controlled (which is not a feature of the express I believe) one can tell the difference.

If you only submit source code... you're safe.

Dani
So as long as tools like Tortoise SVN aren't integrated/used there's no way? Or those tools can be used and you specifically mean builtin/Microsoft Source Safe?
MadBoy
Yes - but check the other answers as well - if you add a solution file... it has the version there probably, so to be safe you need to stick to source files only without sln.
Dani
+1  A: 

You can open the solution and project files in notepad, the edition will be written there.

Am
In the solution file, yes. But in the project files, I don't see anything (at least in C# Express).
haarrrgh
See the ProductVersion property in the beginning, it is unique, but I don't have VS express to compare it
Am
+3  A: 

The .sln file contains a comment with the version used to create it, or it does on mine. Using the VS2010 RC it has "Visual Studio 2010" whereas an old project created in the C# Express edition has "Visual C# Express 2008". It appears opening and converting the project to a newer VS version updates the comment too.

Mike Anchor
The comment remains the same if you open an Express created project in the equivalent full version (e.g. Visual C# Express 2008 -> Visual Studio 2008).
ChrisF
A: 

If the whole solution only contains C# projects OR VB.NET projects OR web projects, you can't tell if it was developed in Express, Standard or Pro.
But if the solution contains more than one kind of project, at least you can tell that it wasn't developed in Express, because in Express you can't mix (there is one separate Express version for each).

haarrrgh
Well what about having 2 projects inside one solution? Like on being the main app and one is some codeplex project (7zip sharp or anything other). Would it mean it's not Express for sure? Both would be written in c#
MadBoy
You CAN have any number of projects of the same kind in an Express solution, for example you could have a C# solution which contains 10 C# projects. That's no problem. But: you can NOT have an Express solution which contains one C# and one VB.NET project, as C# Express can't open VB.NET projects and the other way round.
haarrrgh
+2  A: 

Apart from the obvious stuff in the solution file, the only give-aways in the project files are the

<Project ToolsVersion="4.0" ....>

which is set to 3.5 in VS2008, and the

<ProductVersion>9.0.30729</ProductVersion>

tag, which doesn't change when you convert the project from VS2008 to VS2010 (well, not at the moment), and the

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

tag which imports web app extension targets (this is set to v9.0 in VS2008, and is only on the web app project).

In any case, i wouldn't be too concerned about which edition of VS to use, apart from the lack of integrated source control and the lack of add-ins in the express version, it'll doo pretty much anything its bigger brothers will.

slugster