Template/Shell Solution in VS2010/TFS - visual-studio-2010

I've created a base solution shell in TFS (Silverlight, 6 projects for use with Prism, including .NET and SL business projects). I'd like to use this as a template for future solutions. When I try 'Save Solution as', in VS2010, it prompts me to unbind the solution from TFS, and I don't think I want to do that. Any tips on the best way to accomplish this?

You probably want to unbind it. When you copy the "template" solution into a new project, you add it to source control and apply the Bindings on the New Solution to Source Control. Unless you want the template to replace and existing project?

When you're using "Save As", that's not a template - it's a solution file. Using "Save As" doesn't save a copy of the contents - it doesn't save the projects.

Related

merging multiple projects into one project in solution

Is it possible to create solution in which I'll have some projects of Class Library type, and another one merging project, that will be Class Library containing source of all other projects in solution ?
It's possible to share code files between projects by adding them as a link in the additional projects. I use this technique to share copies of PetaPoco, common AssemblyInfo files, etc. between my projects. You could possibly use this technique to do what you want.
To do this, add and create the code files you want to the first project as you normally would. Then, in the projects in which you want to use an existing code file:
Right-click the project in Visual Studio Solution Explorer.
Choose Add -> Existing item...
Choose the code file that already exists, but on the Add button click the down arrow and choose "Add as Link" instead.
Now anytime you make changes to the original file, it will be reflected in all the other projects in which you added that file as a link.
Hope this helps.

Renaming namespaces in windows phone

Is it possible to rename the namespace, projectfolder, solution name in windows phone? I have a paid version and free version of app. The free version of the app has minor modification. So I tried copying the whole project folder of the paid version and tried renaming the namespace, solution name, foldernames. I landed up in a bag full of errors!!
Is there any way i can do this? or do I have to do it the hard way?, have to create a new project and files and Ctrl+C the whole content???
Could someone help me on this?
Alfah
Why do you want to rename the solution and project? If you want to change the name of the app, you just have to edit the manifest file.
If you really want to change the namespace, you can use Visual Studio's refactoring features: http://msdn.microsoft.com/en-us/library/6kxxabwd.aspx
Yes, but it's a 3-step process:
Rename all the namespaces, references, configuration etc (basically, everything you can find through full solution code search). Make sure it compiles.
Close solution. Rename files on the disk. Open the solution file in the Notepad, update the renamed folder references. Make sure that after opening the solution in VS it opens correctly.
In the project properties, select the Startup Object (http://www.jayway.com/2011/10/12/fixing-wp7-app-not-starting-after-project-rename/)
Yes definitely you can!
Please refer following steps
Open LocalizedStrings.cs and refactor namespace from it.
Rename project solution
Expand properties and open AppManifest file
Change the display name and tile title
Right click on solution file and select clean solution from contextual menu.
Here you are ready with your project with new name! Enjoy!

Visual Studio Project Files and Source Control Bindings

I am copying projects in one solution that is bound to VSS from one solution to another that is not bound (or shouldn't be). When I copy the original project and add it to the new solution, it's showing as checked in and VS is remapping the working folder in VSS; I want this new copy to not be bound to source control and not do the remapping. Is there anyway to disable it, even manually. I can edit the project file if I have to, but I'm not sure what to delete.
Thanks.
this is manual, but you can try this out:
http://weblogs.asp.net/bkcarroll/archive/2004/03/08/86059.aspx
basically tells you which files and lines to clear out.
You can also click File->Source Control->Change Source Control and unbind the project from SourceSafe.

How is "Add Existing Item..." in Visual Studio meant to work?

I never use "Add existing item..." feature in Visual Studio's Solution Explorer because it is confusing:
it seems to me the way it should work is that if you have a Customer.cs file in Models directory, that you could choose "Add existing item", it would then show you which items exist in that directory an allow you to choose one. Instead, it opens a file dialogue to some seemingly random directory on your hard drive, and I'm not sure if it is going to make a copy of that file, or use it outside the solution, etc.
instead, if I want to "add an existimg item", I go into windows explorer, click file, CTRL-C, click folder in solution explorer, ctrl-v, and it is clear
Do others do it differently? Am I missing something about how "add existing item" in solution explorer is supposed to work?
The folder opens where-ever you last left it...
As for using this feature; by default (Add) it does IMO the least useful thing; copy the file. But if you notice, the add button is actually a drop-down; hit the down arrow and you can add a link to the file - i.e. leave it where it is and reference it by location (Add As Link).
The quick and easy way to do what you are trying to do (add an existing file that already exists within the folder in your project) is:
At the top of the Solution Explorer window is an icon/button for "Show All Files", enable it (if it is already enabled and the file you are looking for is not shown, click "Refresh"). Note that this setting is enabled on a per project basis.
Right click on the file that you want to include and select "Include in Project".
Add Existing file adds the file to the project. Keeping it in the project directory is something different and making it a part of the project is something different. By making it a part of the project, its entry is made in .csproj/.vcproj/etc and then further properties can be set of this file such as specifying a custom build step etc.
And No, it doesn't create a copy of the file in your current project's directory in case of a Visual C++ project. In case of a CSharp Project, it does create a copy.
e.g., I use this when I need to add a bitmap/png file in my project which I have gotten from an external source. I just copy the file to my project directory and then use Add Existing File to add this to the project.
I'm using it. I even didn't know it's possible to ctrl+c ctrl+v in solution explorer.
It's particulary handy, if you want to add something 'as link'.
I do use it but often I just add file as a link. That make it easier to maintain some common classes if you do not want to make full assembly out of them.
As far as my experience goes using this function, it does the same copy and paste that you are describing.

Adding a new project to an existing solution in TFS

I added a project to an existing solution that is currently under source control using TFS, but for some reason I cannot check in the new project. When I view my pending changes, none of the files in the new project show up. None of the files have a plus (for a new file) next to them. What did I do wrong? How do I fix it? It's time to check in.
The problem is the solution has lost its binding. That's why it's not checking out automatically when you add the new project.
In order to restore the binding in VS 2010, go to File->Source Control->Change Source Control. Look for the "Solution: your solution name" and if it's not bound it will say "no server". Click on it and then click "Bind" from the toolbar.
in Visual Studio 2012/2013 it's File->Source Control->Advanced->Change Source Control (Thanks to danglund).
This should create a new vssscc file that is correctly bound. Now add the new project and everything should work correctly.
I was also having the same problem, this is how I fixed it:
Go to Visual Studion: File->Source Control->Change Source Control
Find your project there, its status would be "Invalid", Click on it and press "Unbind". Now go back to Solution Explorer and Remove your project. Add this project again into the solution explorer solve the problem.
Good Luck!
Click on the Team Project name in Source Control Explorer
File -> Source Control -> Add Items to Folder...
Follow the wizard.
Head over to Source Control Explorer and browse to the place in the tree which matches where the new project is at for your solution. Add the files there.
However, I'd be concerned that you modified the solution file and it didn't ask you to check that out. What you may want to try doing is manually checking out the solution file, then readding the project to the solution and seeing if it takes then.
You shouldn't need to drop to the command line - this is a pretty straightforward operation.
Open the solution. Select the project (make sure it is in the solution).
File -> Source Control -> Properties will bring up the binding dialog.
Bind the project to source control.
You should now see + signs next to all your files. The key is that that a .vssscc is added for your project to version control.
If that fails, open your csproj in notepad (after making a backup), and ensure any version control bindings are removed, then try again.
Unfortunately, I'd wager that your best bet is to manually do the check-ins through the command line. I've ran into situations where the Team Explorer UI grows out of sync with what's actually happening in source control, and manually fixing things through tf.exe was the only way to resolve it.
That said, normally, adding a new project to a solution isn't a hassle.
TFS can simply do not know about your project existed. Just add your project files through Source Control Explorer and re-load the solution.
While loading of a solution it can ask you to bind your project to source control. Let it do so by clicking Bind button - it should do all the magic for you.
Make sure you get the latest version of the solution
Check out the solution file
Add the new project
If the newly added project was previously under (another) source control, that might mess things up, make sure to "unbind" it before adding it. (See source control bindings somewhere under the "file" menu in Visual Studio)
You shouldn't need the command line.
I had this same problem in VS 2019, where I had added a new project to an existing solution, and the project wasn't showing up in pending changes. Right-clicking on the project and going to Source Control only had an option to "Add Solution to Source Control".
Using the above answers, I started down the File --> Source Control path, which then yielded an option to directly "Add selected projects to source control". Taking that option solved the problem, so that now the new project shows up in pending changes. NOTE: I'm adding this answer since it's still an issue in VS 2019, but has an easier solution now than in the past.

Resources