Alright, this might be a bit of a long shot, but I have having problems getting AnkhSVN to connect from Visual Studio 2005 to an external SVN server. There is a network proxy in the way, but I can't seem to find a way in AnkhSVN to configure the proxy and doesn't seem to be detecting the Internet Explorer proxy configuration. Is there any way to resolve this issue, or will it likely just not work?
You can also use TortoiseSVN for editting the proxy settings.
TortoiseSVN saves the settings in the registry in the common location that all Subversion clients (by default) use.
UPDATE: A proxy settings dialog is now implemented in the AnkhSVN daily builds.
It will be available in the next release.
Current version of AnkhSVN does not provide a GUI for proxy settings, but you can hand-edit the servers file (which is a simple .ini) and it should work.
Servers file resides in: C:\Documents and Settings\YOU\Application Data\Subversion (or wherever your APP_DATA is)
Related
I have a laptop and a desktop computer that I wish to share visual studio projects between - what is the simplest way to do this?
The simplest way to do this at the moment is to use Microsoft's new and free TFS (Team Foundation Server) service "in the cloud".
First, sign up a TFS account here. You will have to choose a name, which will give you a URL like http://yourname.visualstudio.com/
Next, within Visual Studio you can add a TFS server, where you will be able to check-in and check-out your solutions and projects from any number of computers.
Do you want to share Visual Studio project (1) or do you want to put the project under version-control (2)?
For the first case you may consider online backup / storage service like Dropbox, Google Drive or SkyDrive. You will be able to access your project from different computers and could share it with others when needed. It's really the simplest way; no version-control though.
If you require version-control I advise you to choose Apache Subversion. TFS is like walking the hard and thorny path and is definitely NOT the simplest way.
So, you can install VisualSVN to add SVN as a source control to Visual Studio. Then you can "Add the solution to Subversion" with VisualSVN.
You can either host repositories on your LAN with VisualSVN Server (or any other SVN server) or use a hosted SVN service. Initial setup takes a couple of minutes max actually.
You can use a free SVN service. Here is one provided:- https://www.assembla.com/home
So I just downloaded TortoiseSVN, VisualSVN and VisualSVN Server. I created a new repository and through VS2010, added my solution to said repository. I then realized that I had some naming issues with my repository so I deleted it using the VisualSVN Server Manager thinking that I could go back to VS2010 and somehow drop the solutions connection to SVN, but I cannot figure out any way to do this? I essentially want to start from scratch with this solution/connecting to SVN but I cannot seem to find a way for it to offer me the initial "Add this Solution to SVN" option. I don't know if this is a TortiseSVN issue or VisualSVN but any advice would be greatly appreciated!
Close Visual Studio then remove the subversion info by deleting all .svn folders recursively below the project folder. They are hidden so you will need to enable viewing of hidden files and folders. Open Visual Studio and VisualSVN should offer to add the solution to subversion again.
I have a problem which I thought could be common, searched the web for it but found nothing.
We're using a shared development machine, and every developer connects through RDP and has his own profile, desktop, etc.
The problem I am encountering is with IIS express. Since it is configured at user level (applicationhost.config inside documents/iisexpress/config) and the port configured must match the one declared in the .csproj file, two developers can't possibily run on the same port, as it gives the error "the port is already in use".
So to make it work we have to manually change the port both on the csproj and in the applicationhost.config for every developer, but it's only a temporary fix as when we commit our changes to SVN, the csproj file gets merged, so we have to do this process every time someone commits/updates.
My question is: is there a clean way to use IIS express with Visual Studio 2010 on a shared development machine?
Thanks.
Partially tested answer. Not sure how it'll work on a multi-user workstation. It might give you, or someone else here, a jumpstart to a proper solution that works best in your existing environment.
It appears that Visual Studio stores all the web configuration in the csproj/vbproj and IISExpress stores its configuration in %userprofile%\Documents\IISExpress\config\ApplicationHost.Config.
Normally, we store the csproj files in source control, but ignore the csproj.user file so that each person may have some unique settings, such as the web configuration.
Each user who signs into the box must have their own profile.
Each profile must have their own copy of the source code.
Each user's copy of the source will contain their own csproj.user file.
Ignore .**proj.user* files in your source control.
Copy the web settings into the csproj.user by unchecking the option Apply server settings to all users and then commit to source control.
Each user who pulls a copy of the source will have to configure their web settings, use a unique port that the others users are not using, and uncheck the box above so that their configuration is not passed on to the other users.
Doing this, Each profile will have their own IIS Express ApplicationHost.Config configured with a port that is different from the other profiles. Each user's copy of the source will have a csproj.user that is configured with the same port in their profile's IIS Express configuration.
For reference:
I've tried changing IIS Express's ApplicationHost.Config to use a different port than what Visual Studio expects and Visual Studio is unable to connect the debugger to IIS Express.
How IIS Express's configuration works: http://msdn.microsoft.com/en-us/library/ms178109.aspx
The best option you can use is to take advantage of the Import functionality built into MSBuild.
Essentially, you would create a seperate build target for each user. You can then import this target from this referenced file directly. I would then recommend creating this file on the server (for each user), but leaving it outside of source control.
This should allow each user to have a custom IIS port without conflicting with others.
I think you can create subdomains for each user and implement the required changes and do the testing. In this way each user can his own subdomain and port and hence work independently on the shared IIS Express.
You probably won't like my answer but here's my thoughts:
As you noticed, the configurations are tied to the user profile and not the server; this is because IIS Express is not intended to be used as a shared development server. You should be using full IIS.
I do not see any benefit or reason to use the same physical box for development. Admittedly, I don't know all the details of your scenario with licensing or workstation resources, but it doesn't seem like you gain much from having everyone RDP into the box to use Visual Studio - each person still needs a license, performance will be slower, and you shouldn't be working on the same project instance.
You should seriously consider your entire setup for development:
Each developer should use Visual Studio on their workstation, and debug/test there using IIS Express (configured with the same ports and settings across all machines - very easy).
From there, your developers should check their code into source control, and examine conflicts that may or may not arise. I'm not sure about SVN but the MSBuild automation available in TFS can be use to setup a continuous build policy that deploys to a common IIS installation so that your merged code is tested and usable from the full IIS installation mentioned above.
Anything else would be a workaround/hack that will bite you in the butt later.
My company is currently implementing a versioning system using Mercurial and BitBucket. We currently have respositories set up on bitbucket and are able to use them, but our work processes for doing so are a bit clunky. We use Visual Studio for web programming in .Net. Currently, we have set up a cloned repository locally and work from there. We can do this using Visual Studio with VisualHg.
In order to edit files we open them in Visual Studio from the local repository and make our edits. We then commit our changes to Hg, which updates the repository as it should. Then we need to FTP the files from our local system to the DEV server for testing and then FTP again to the Production server once QA is completed and approved.
It would help streamline things if we could have the BitBucket repository synced with our DEV server so that all that was required is to commit changes for testing in DEV, bypassing the otherwise necessary step of locating and FTP'ing all relevant files.
Does anyone know if this is possible? If so, can you point me to any documentation that would show me how to set this up? Our developers would be eternally grateful. Thanks for your time.
In my opinion, using Mercurial is not the correct solution for this problem.
The main reason for it not being the correct solution is that the files that are in Mercurial are not the files that you want on the production server and so aren't the files that you want to use on your development server (because you want the QA environment to be as close to the production environment as possible). There are no assembly files stored in Mercurial (or there shouldn't be) and those are the files that the server should be using to run the application.
There are deployment tools built into Visual Studio that you can use for this task. They can be configured to upload all the necessary files with one button click.
Scott Hanselman has a post on his blog about this.
Troy Hunt takes it one step further by introducing a build server with this excellent set of posts. It uses Subversion as the repository but it can be done using Mercurial too.
I prefer the build server method as, once you have it set up correctly, it makes it 100% reliable. It will do the same thing every time you ask it to do the deployment. If you use Visual Studio to do it the developer doing the publish could choose different options and get it wrong.
I want to set up source control for my project, but it seems like I need a server for this. I've never done this before, and I couldn't find anything helpfull yet.
Is there any way to host a server locally so Visual studio can use it? Or do you know any online (free) servers I can use?
By the way, if source control is not actually what i should use for keeping track of changes in my files, please suggest a better option.
Thanks in advance.
There's a lot of solutions to this problem.
A simple way to go is use subversion.... get tortiseSVN, and you can make a local repository ( you don't need to run any kind of server software ).
Then get something like Ankh SVN for Visual Studio
All free software!
You need to pick a source control provider, such as Team Foundation Server, Perforce, or GIT.
You can then install a server on your machine, install a Visual Studio plugin (not applicable for TFS), and connect to the server.
If you have your VS2010 licence through a MSDN subscription, then you have a licence to TFS, see: http://www.ewaldhofman.nl/post/2009/11/02/License-costs-of-Team-Foundation-Server-2010.aspx