Presentations and Publications, Functional Specifications, Database Structure, Workshops and Training


Getting HydroDesktop

This page gives instructions on how to access the HydroDesktop application and source code.

Downloading the Installer

The installer is currently provided for the Windows operating system. The installer contains the latest stable release of HydroDesktop including sample map data on the Downloads page. Experimental releases are available for registered users in the Other downloads group.

Downloading Code as a Zip File

CodePlex provides a link to download the entire source code library. This is done by clicking the "Source Code" tab above, and then on the right hand side, you will see a box that says "Latest Version". In that box is a link that says "Download". Click that link. This will initiate a full download of the entire HydroDesktop Subversion Code Repository (after you agree to the HydroDesktop open source license). Alternatively, you can click on the "Browse" link in that same "Latest Version" box. This will take you to a file and code browser for the full repository. That page shows a list of files and folders on the lefthand side and includes another "Download" link that will also initiate a full download of a zip file of the full repositorCodePlex provides a link to download the entire source code library.

Downloading Code Using TortoiseHG Mercurial Client

A better way to get the application is to use a subversion client tool. I recommend the program, TortoiseHG, which I believe is being used by most everyone on this project. You can download Tortoise HG from the following site: http://tortoisehg.bitbucket.org/

Steps to use TortoiseHG to get HydroDesktop includSteps to use TortoiseHG to get HydroDesktop are:

  1. Download the software from http://tortoisehg.bitbucket.org/
  2. Install it on your computer (may require a reboot)
  3. Open a file browser and navigate to the location where you want to place your HydroDesktop files 
  4. Right click in that folder and from the context menu that opens select "Tortoise HG - Clone# Right click in that folder and from the context menu that opens select "Tortoise HG - Clone"
  5. A dialog box will open. In that dialog box enter the following for "Source path": https://hg01.codeplex.com/hydrodesktop
  6. In "Destination Path", enter an appropriate local file path where you want to place the files (for example: "c:\dev\hydrodesktop
  7. In Options, check the "Use uncompressed transfer" checkbox.
  8. Click Clone. This will initiate a download of the full repository directly to the specified folder, and it will be "set up" for running from that location.
  9. Right-click on your HydroDesktop folder in Windows Explorer and choose TortoiseHG - Update. This will make the code up to date with most recent changes on codeplex.


Read the Detailed Tutorial for using TortoiseHG with HydroDesktop

hg_clone.png

Building HydroDesktop from the Source Code Repository

Tutorial: Build HydroDesktop from Source Code (.pdf .docx)

First, install IronPython, or some other library with Microsoft.Scripting.Hosting.

Once the zip file download or the TortoiseHG Clone completes, or if you download the source code file and unzip it to your folder, then you can navigate to the folder where you placed the files, and open the Visual Studio 2010 solution files to work on the source code and execute the application from within Visual Studio. There is one solution file:

  • Source\HydroDesktop.sln (includes the main application, all extensions and unit tests)

To build the code, open HydroDesktop.sln in Visual Studio 2010 or Visual Studio 2012. The output is built to the "Binaries" folder. A file HydroDesktop_1_6_dev.exe will be created. This is the main executable.

Important notice: When HydroDesktop builds, It uses nuget package manager to obtain the latest packages of the DotSpatial GIS libraries and of some extensions. Install nuget package manager Visual Studio extension before building HydroDesktop. The nuget package manager runs as an automated pre-build step.  Troubleshooting: Some users have reported that this pre-build step fails if there are spaces in the source code folder path. Therefore it is recommended to have the source code in a folder without any spaces.

Committing Your Changes to the Repository

If you make any changes to the source code and you want to commit those to the repository (assuming you have developer privileges for this project), then simply right click in the folder where you have your HydroDesktop files, and click "HG Commit". Once the HG Commit is finished, right click in the folder where you have your HydroDesktop files and select "Tortoise HG - Synchronize". In the dialog that opens select "Pull". This will transfer your changes to the online Mercurial source code repository. Note that this only works if you used TortoiseHG to download the code in the first place. PLEASE Comment your commits. It is critical to project management that every code change is commented in the TortoiseHG commit window. It can be a brief comment "Changed appearance of X" or "Changed behavior of Y" but it just needs to be there.

If you do not have privileges to commit code to this project and would like to be given privileges, please register with CodePlex and then send your user name to the project manager (user: danames).

Last edited Nov 5, 2013 at 4:53 PM by Sonic87, version 36

Comments

ytlee Jul 6, 2013 at 2:30 AM 
I commented out lines with PanelHidden, the built ran but it said it found 2 IHeaderControl Extension. Then crashed with this error message.

System.NullReferenceException: Object reference not set to an instance of an object.
at HydroDesktop.MainApplication.MainForm..ctor() in d:\HYDRO\hydrodesktop_5412351d30c6\Source\HydroDesktop.MainApplication\MainForm.cs:line 53
at HydroDesktop.MainApplication.Program.Main(String[] args) in d:\HYDRO\hydrodesktop_5412351d30c6\Source\HydroDesktop.MainApplication\Program.cs:line 44
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

ytlee Jul 6, 2013 at 2:14 AM 
Hello,

After I ran NuGet to solve reference, there are still some errors and warning. for example
in DataDownloadPlugins line #153, PanelHidden is not defined
App.DockManager.PanelHidden += DockManager_PanelClosed;

jbejar Mar 22, 2013 at 4:17 AM 
I noticed this as well;however, I was able to able to resolve it by right-clicking on the MainApplication project and then setting that as the main project. Then I clicked play and the 200 or so errors I saw went down to zero once it started building.

twhitvine Jul 30, 2012 at 2:42 PM 
I downloaded source code and opened HydroDesktop.sln. I right-clicked the solution in the Solution Explorer and clicked Build Solution. I get 274 errors which seem related to DotSpatial.

Error 1 The type or namespace name 'DotSpatial' could not be found (are you missing a using directive or an assembly reference?)

I ran Visual Studio as admin and now I get zero errors but the build still failed. I try building one more time and it works.