visual studio: multiple projects with same name in one solution - visual-studio

I've encountered something strange with visual studio 2015 and 2017.
In visual studio 2012 you can create a solution with the structure that is illustrated in the following picture.
and you can add references to both library projects (F1/Common) and (F2/Common) in say Wapp project. nothing special. but in visual studio 2015 and 2017 you will receive this error dialog if you try to do that.
is this a bug in visual studio (2015 - 2017) or there is a configuration for that in visual studio options and settings?
appreciation for your response

One possible workaround is to rename the project in the Solution.
Add the second project under the name "Common2" and then rename the project in the solution explorer back to "Common".

You can do it by adding manually the ProjectReference block section and specifing a different name
<ProjectReference Include="..\F1\Common.csproj">
<Project>{81379587-a98b-4901-a3ad-266739ecfdb1}</Project>
<Name>Common1</Name>
</ProjectReference>
<ProjectReference Include="..\F2\Common.csproj">
<Project>{b9a1d4dc-465c-4798-8072-6e66ad6719d7}</Project>
<Name>Common2</Name>
</ProjectReference>

Related

How to integrate starcounter with Visual Studio 2013

I'm trying to integrate starcounter with visual studio 2013 by installing starcounter but this is not happening, how do I integrate with visual, after integrating how to create a simple project with starcounter.Thanks in advanced.
Starcounter 2.3 and newer does not support Visual Studio 2013 anymore, as presented on the https://starcounter.io/download/ page ("System Requirements"). Currently VS 2015 and 2017 are supported.
I think the only thing that needs to be integrated is creating a project from the template. Building is done by MSBuild, so I don't think VS version affects it.
Try to copy an existing project (e.g. https://github.com/StarcounterApps/KitchenSink) and change it to your liking. You will need to do some manual steps to add new pages:
Open your csproj file in an editor
add an entry for json file
<ItemGroup>
<TypedJSON Include="RadioPage.json">
<Generator>MsBuild:Compile</Generator>
</TypedJSON>
</ItemGroup>
add an entry for code-behind
<Compile Include="RadioPage.json.cs">
<DependentUpon>RadioPage.json</DependentUpon>
</Compile>
There may be a way to do this in a less manual way, but I don't know how to add dependent file in VS
In the docs, you can see how the Starcounter templates look and read how to use Starcounter without Visual Studio or the extension.
In short, it's no problem using Starcounter with Visual Studio 2013, although, you will miss out on some of the benefits that the extension come with.

Microsoft.Teamfoundation.dll with Visual Studio 2013?

I had been using Microsoft.TeamFoundation.dll found in
"{programfiles}\Microsoft Visual Studio
10.0\Common7\IDE\ReferenceAssemblies\v2.0"
with visual studio 2010?
Been working on updating the build templates to TFS 2013 and found that the Microsoft.TeamFoundation.dll is missing in the
"{programfiles}\Microsoft Visual Studio
12.0\Common7\IDE\ReferenceAssemblies\v2.0"
folder.
Where can I find the Microsoft.TeamFoundation.dll for TFS 2013?
Found the answer at this location:
"My observation is, using TFS and VS version 2013 onwards, we no longer need to reference to this assembly where as referencing to assembly Microsoft.TeamFoundation.Common.dll is enough. This assembly contains Microsoft.TeamFoundation namespace and all sub-namespaces along with classes that represent general information about Visual Studio Team Foundation Server."
SOURCE

How to convert project from VS2012 to VS2013

Funny question but I stacked on it. I opened in VS2013 solution file which uses VS2012, but it still doesn't show me any screen for upgrade solution to VS2013. I mean I can open this project in VS 2013 and it works but solution file still shows that it use VS2012
According to this article some wizard should be shown, but it doesn't
http://msdn.microsoft.com/en-us/library/vstudio/ms185327(v=vs.100).aspx
Found the answer. We need to correct manually the Visual Studio sln file like this
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Open the project using VS2013, then go the the directory that the project is in and change the
extension of the Solution file (*.sln) to something like *.sln_12. Now save the project and a new sln file will be created.
Check this url http://visualstudiomagazine.com/articles/2013/06/12/vs-2013-can-load-vs-2012-and-vs-2010-projects.aspx. It supports round-tripping with older versions of visual studio so it doesn't upgrade solution/project file automatically.

VS 2012 solution and projects - incompatible with VS 2010?

I was under the assumption the solutions and / or C# projects created in VS 2012 could also be opened in VS 2010 (with SP1 applied).
But I wasn't able to do so - VS 2010 didn't want to load the solution file, and after I manually "tweaked" it, now it complains about the *.csproj project file being incompatible with this current version of VS 2010 .....
What am I missing?
You can fix it by,
1- Change 12.00 to 11.00
2- open *.csproj file by text editor and change this line
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
to
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
Project will open after restart of VS 2010
If you create a solution with visual studio 2012 on the top of your solution-file there are the following two lines:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
You can Replace the Version 12 to 11. And than the solution should work in Visual Studio 2010. I'm not sure if the visual studio 2010 can handle project-files which have target .net-framework 4.5
Removing:
<AppContainerApplication>true</AppContainerApplication>
Under the tag:
<PropertyGroup Label="Globals">
Solved it for me. Though it is funny, on another PC (Win10 instead of 7) it worked including this line.

How to convert a VS 2010 solution back to 2008

We started using VS 2010 and were very happy with it, so we converted our project into a 2010 solution (still .net 3.5) and continued our development in 2010. However, we are getting a lot of bugs recently and want to go back to 2008. The solution files have changed (new projects and files added everywhere), but everything is still in .net 3.5. I was wondering if there is an easy way to migrate back to 2008.
Depending on if they kept the solution file structure similar between 2008 and 2010, you just need to create an empty solution file in 2008 and look at the top identifier line in it, and copy it into the other solution file.
I however doubt they kept it the same since they were integrating a number of features into solution files.
You would be better off to create a new blank solution in 2008 and use "Add existing project" to reimport them. As long as you dont have any custom "solution" wide references this will work (no solution folders, server setups, etc).
It is probably the fastest and most direct route.
I had success changing the first 2 lines from:
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
to
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Assuming that your solution is under source control and the migration from VS 2008 to VS 2010 was the only change in that checkin, just compare the two version and see what's changed.
Then change the lines affected back to the VS 2008 version and you should be good to go.
There's no automatic process as Microsoft see this as a one way operation.
You can manually edit .sln file in text editor. There is field named version, or like that, just change it from 10 to 9.
This question
How does one convert a Visual Studio .NET 2008 solution to Visual Studio .NET 2005?
might also be applicable for converting from 2010 back to 2008.
You can use "Project Converter":
http://www.emmet-gray.com/Articles/ProjectConverter.htm
I have just found it. I am going to test it right now! :-)
Please try the following (find first line and replace to second line to convert 2010 solution to 2008):
TargetFrameworkMoniker = ".NETFramework,Version=v2.0"
TargetFramework = "3.5"
# Visual Studio 10
# Visual Studio 2008
Microsoft Visual Studio Solution File, Format Version 11.00
Microsoft Visual Studio Solution File, Format Version 10.00
<Project ToolsVersion="4.0"
<Project ToolsVersion="3.5"
<ProductVersion>10.0.20506</ProductVersion>
<ProductVersion>9.0.30729</ProductVersion>
\VisualStudio\v10.0\
\VisualStudio\v9.0\
<Import Project="$(MSBuildToolsPath)\Workflow.Targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets" />
This worked on my solutions, you can try to see if it fit to your cases.
as maZZoo tells, you have to replace those lines in .sln, but if you check you Output panel you may have an alert of using ToolsVersion="4.0", you have to replace that in the .csproj to:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

Resources