Since there is little information on how to upgrade from Zend Studio 8 to Zend Studio 9, I was wondering if someone had a recommended approach.
My Goal:
To upgrade from Zend Studio 8.0.1 to Zend Studio 9.0
To keep all (or at least most) of my current settings and definitely all of my files
Problems:
I have several projects checked out from SVN
I have more than one workspace
I don't have time to re-checkout from SVN on every project (but if it's the only way then so be it)
Anyway, I just want to know what to watch out for when it comes to bugs or issues with files/settings/workspaces etc.
You should be able to go ahead and install 9.0 without having to worry about loosing your Workspace Preferences. Once the installation is complete. Simply start Zend Studio and specify the same Workspace location(s) you were using before.
If I'm not mistaken workspace information is stored in the .metadata folder created by Zend Studio at the root of your workspace. When you specify your workspace in 9.0 Zend Studio will see this folder and any settings from the workspace while using 8.0 that are still available in 9.0 will still be in place.
As for your projects, if they're not automatically loaded into the workspace in the new version already, simply create a new project, and specify the existing folder of the old project. Zend Studio will see the .project file in the folder and tell you that a project already exists in the specified directory. This is ok, Zend will just attempt to load the old project and retain any project settings for that project.
I'm a bit rusty on the SVN portion. And I have had problems in the past when importing an existing project connected to an SVN Repository. If the Projects repository it is attached to is not already defined in your SVN Repositories view, Zend Studio will start barking at you stating that the project is attached to an unknown repository or something of the sort. If this happens... Well good luck getting it "re-attached" to the repository without just deleting the project and checking it out again entirely.
My advice is to have your SVN repositories setup BEFORE attempting to open any projects that you have connected to a Repo. Make sure to have the configuration all the same when re-setting up your repository definitions.
Good luck! & Gratz on the upgrade. Zend Studio rules.
Related
Me - Front End web developer with an ok working knowledge of writing VB.NET code but I have never built a .NET project from scratch using Visual Studio.
External developer - Experienced VB.NET developer but completely new to version control and TFS. Also extremely cheap and prone to infuriatingly poor programming practices. He does things that make you bang your head on the table.
Background
Our external developer has coded our site but over the last few years I have been tweaking aspects of pages and have managed to learn quite a bit of VB.NET along the way. He has never used source control and I don't think he's ever had to work with another developer before.
Up until now he has maintained a local copy of the website. He makes changes to this local copy and when he wants us to test it he uploads the relevant files to our dev server. I have no experience of Visual Studio projects/solutions so if I have made tweaks to things I have edited the aspx/asxh/config files in my preferred editor and then uploaded them to the dev server. If everything works correctly I ask him to download them from the server so he can update his local copy.
I have been maintaining a local git repository of the website for the last 2 years. If he makes a change I check it in.
Obviously this is a nightmare to work with so we have now insisted that he starts using version control. I recommended GIT but he has decided to use TFS.
He has now put his solution and all the files into TFS. I have installed Visual Studio 2015 and successfully connected to TFS. I have mapped the files from source control to my own workspace but I am now at a loss as to what to do next.
Questions
As soon as I open the .sln file he has uploaded it says I have checked out the file and made changes. When I check the diff it seems to be because I am using a newer version of Visual Studio than he is. Does the .sln file need to be in version control? Or are we suppose to maintain our own versions of the .sln file and simply check in everything else?
If I try and build the project it fails because the web.config is set up for his machine and not mine. How can we maintain 3 versions of the web.config file? One for my local, one for his, and one for our dev/live environments?
I am not convinced he will have added the project to TFS correctly because he's never used it before. This is basically the blind leading the blind.
Question 1:
You need to put the .sln file in version control. Before check out the .sln file, please do a "get latest" step, which will make sure both of you are working on the latest version. When you try to check your local version in the server, and he had uploaded his local version in the server. You may have to solve conflicts before the check in.
Question 2:
You should build your project and published the website on the server. The build agent will only maintain one version of the web.config file. If he has built the project with his web.config. And you want to build the project again with your web.config, the build agent will delete the previous web.config and pull down your version. Then build the project with your's web.config.
Moreover, if both of you are not similar with TFS. Suggest you taking a look at below MSDN link which related to source control and build.
Use Team Foundation Version Control
TFS Vnext Build
My issue is that Get Latest (TFS) does not work using the same account over two PC's for a newly created file. Steps to reproduce:
On my main PC I opened Visual Studio 2015 (CE).
I created a new typescript (.ts) file.
I checked this new ts file in.
I go to work on my laptop and open VS2015 (using my same Microsoft Live account) and the new files do not download when I go to Get Latest.
If I traverse the files to see what was checked in on the server, they have been checked in successfully.
Exploring the files via VS2015 through the team explorer I see the files, they are indicated as not having downloaded and also is indicate "latest" as "no".
It would seem that my laptop is telling VS online that no changes to this file have been made (well in fact I cannot download the file to my laptop and is not present on my laptop so technically true - its hasn't changed because I can't download it to change it).
How do I tell VS online that my laptop is not my main pc while still using the same account to login? Or am I missing something? I've not used TFS an awful lot.
I'm fully updated. I did some folder re-naming so possible it's a bug to do with that.
I can not reproduce this issue via the steps you provided. The file can be downloaded successfully on both PC with same account. Since you mentioned that you did some folder renaming, so you need to check if your local workspace mapping is still correct. An quick way to fix this is creating a new workspace for the project. This will get all the latest files on Version Control.
There are several ways to get the latest version:
Get the latest version from "Solution Explorer" by :right click on the project/solution file -> source control -> get latest version. This only updates all the files related to the project/solution to the latest version. For example, you have ProjectA and ProjectB in the solution, and you right click on ProjectA to get the latest version, the files listed under ProjectA in solution explorer will be updated/downloaded. Other files won't be updated.
Get the latest version from "Source Control Explorer" by :right click on the folder -> Get latest version. This will update all the files under the folder.
I have been using the Webstorm trial version for a month and it has expired, so now I am considering using Visual Studio.
However, I have come across a stumbling block using ankhsvn, which is that I cannot figure out how to "import" files from existing files in subversion and add them to a project. Add to Subversion simply adds a new folder to the repo and I cannot see the existing files in the project explorer.
Is there a newbie friendly tutorial on how to import files from an existing svn repo to a solution in local space?
D'oh! Turns out I just needed to use Tortoise to check out the files, then create a blank solution in the same folder as the check out (this is important or ankhsvn won't play nice), and then add existing website to the project.
I have an issue. We are upgrading to VS 2012 at work. When we open a VS 2010 project Visual Studio converts the project. This is fine, because VS 2010 can still use the project (yay microsoft). However, there is a \Backup folder created in the solution directory. Is this being created as part of the migration? Is there any way to control it?
The reason I ask is that the process that makes this folder copies web.config files into the folder. If you then try to build the solution (these are MVC projects), we get a "It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS." error. The cause is that there is a web.config file in a subfolder instead of the root folder. We did not make and do not want this change, and cannot figure out how to control it. Deleting the Backup\Web.config file fixes the error. Renaming it from web.config to web.config.bak fixes the problem.
I don't really want to have to personally open and convert every single project, and don't want random people bumping into this problem. Any idea how to either stop VS from creating the Backup folder, or how to make it create them in the my documents studio folder etc? I can't find any setting to control this and can't find any good info.
By chance, are you using the MvcBuildViews property to pre-compile your views at build time? If so, this is why you're encountering this (since it does the pre-compile in the same directory, it doesn't filter out any of the files below the project directory).
Note that you will also encounter this issue if you use the Publish feature for this project. Publish copies the web.config under your intermediate build output directory (by default, obj/) before and after applying web.config transforms.
The good news is that in VS2012, or in VS2010 with the latest Azure SDK installed, pre-compile is now supported for Web Application Projects (including MVC). These settings are currently in the project properties, under the Package/Publish Web tab.
(this doesn't directly address your question about the Backup folder, but it was too long for a comment.)
There is no way to control it that I found. We had to go ahead and run through and convert every project to 2012 and delete the backup folders to prevent any other team from running into it.
We recently migrated to TFS 2010, and have created a new Team Project. (The old one was created in 2005, and seems to be missing key metadata to allow full functionality in 2010). We've copied all our source, and have figured out how to copy our work items to the new team project, but we can't figure out how to migrate our build definitions.
Is there a way to do this, or will we have to re-create them manually?
Thanks!
[EDIT]
Jeff-thank you for the reply! After reading it, and more deeply considering my situation, I realize that my description (and probably my entire question) was flawed.
We originally upgraded our 2008 team project to 2010. It had previously been upgraded from 2005. Up to this point, we've been using CruiseControl.Net to manage our builds. One of our team noticed that our upgraded project was missing some key metadata, and theorized that stuff had not been added in the migration process, so he created a new 2010 team project and imported our source as a test. Now we have two 2010 team projects: the originally migrated one (that we're all using), and the "from-scratch" one.
In the meantime, I was experimenting with TFS Build on the originally migrated project. I created a dozen or so builds, and was refining them, but we haven't moved off of CC.Net yet.
The decision was made to start using the "from-scratch" project, so I was hoping to somehow copy the builds from one project to the other. I don't see a way to do that... there is no build proj file to copy (TFS seems to keep the build definitions internal in 2010).
Normally, when you upgrade to TFS 2010, any build definitions you previously had will be automatically upgraded with the associated Team Project. It sounds like, at least in your case, that your Team Project did not upgrade completely/correctly so you had to start over with a new Team Project.
To copy your build definition, you will need to:
Copy the TFSBuild.proj file(s) from your old Team Project to the new Team Project - under whatever version control folder makes sense.
Create a new TFS 2010 build and select the Upgrade Template (in the Process tab).
Set the Configuration Folder Path property to the location of the copied TFSBuild.proj file copied in step 1 above.
Fill in the remaining required settings.
Hope this helps.
There's been significant changes to how builds are done from TFS 2008 to TFS 2010. One of the reason's why it appears that 'stuff has not been added to the migration process' is because it just does not exist. Even upgrading from TFS 2005 to TFS 2008 had a bit desired in it's completeness.
Jeff provided some good guidance to use the Upgrade Template, this will actually call the tfsbuild.proj file that was carried over from TFS 2008.
As a good practice, you'll want to create a copy of the DefaultTemplate when a new build definition is created for a corresponding relationship. Do this while creating the build definition in the process part of setup. There is a detail expansion arrow that will allow you to create a new, which is a copy of the default, and name it whatever you like. Unless of course there will be absolutely no customization done to the build definition or all of the builds in that project will be following exactly the same steps. i.e.: dev_sso_ci (build definition) corresponds to dev_sso_ci.xaml in the BuildProcessTemplates folder.
Hope this helps too.