Upgraded .NET Bio version

Jul 15, 2012 at 5:22 PM

Hi Everyone,

In the last couple of weeks I loaded all of the source code except the HPC stuff (I do not have access to a Windows HPC set of machines) into VS 2012 and proceeded to migrate the Workflow Activities to WFF 4. This wasn't that hard but I would like to know if you would like me to submit these changes to the SCM? And if so should they be a different branch?




Jul 20, 2012 at 8:33 AM

Hi, Blair,

I think the rule is as long as your code pass all the test (there should be Test for all contributed code), then you can commit.

But VS2012 is not RTM yet; moving whole code base to .NET 4.5 is also 'breaking change' cause once you start using new functions, people no longer can run it without upgrading their framework.

Last thing is the change of VS2012 Express SKU features made a lot of people unhappy (read from the web).



Jul 20, 2012 at 2:02 PM

Hi dong,

No problem that is why I asked if you were interested. I made this upgrade for my own personal use and just thought it might be useful to others.


Jul 25, 2012 at 3:46 PM

Blair, thanks for doing the work. As Dong notes VS 2012 jasn't been released yet (although it does appear that Jason has indicated via Tweet that it would be released to manufacturing in early August which isn't far away.)

Adding new updated workflow activities will help anyone who buys or upgrades to the new VS. I don't know the best place to add these in the source tree once we have a new VS release but at that time it would seem to be entirely appropriate.


Aug 2, 2012 at 6:52 PM

Hi Blair,

I have been discussing this with people who know more about version control and CodePlex than I do, and we plan to create a VS2012/.NET 4.5 branch in advance of the release of those products - we are clearly going to need one anyway. When this is done, we would be more than happy to review your updates.

These are established processes for contributions of code, and you will find them in the Contributions Guide under Developer Documentation (click on the Documentation tab at the top of any page). Basically, a few people (called Committers) have permissions to check in code to the source tree - all contributions are reviewed to ensure everything is okay before this happens. I would summarize the process as follows:

  1. You write the code, confirming to the coding conventions (see the Documentation page for the conventions document)
  2. If your contribution is much more than a few lines of bug fixing, you will need to sign a Contribution Agreement from Outercurve. This is required for all projects not just this one, and among other things you will certify that the work is yours (you didn't just copy and paste someone else's code from some web page, etc). You will own the code even after it is checked into the project. I can get you a copy of the Contribution Agreement if you need it.
  3. Once we have the agreement on file, one of the current Committers will review your submission, check you have unit tests and follow the conventions, etc. They may email you with questions or ask for changes before they accept your contribution.
  4. Once the reviewer is happy, they will check in your code and it will become part of the project - the next release build will contain your enhancements, and you will receive the thanks of a grateful community. Perhaps :-)

That's all there is to it. If you would like to commit your code directly, you can become one of the Committers. Committers review other people's contributions, uphold the coding standards of the project and generally play a role in making .NET Bio a success. Typically it will take a couple of contributions which pass review and some forum traffic to convince a Committer that you should also have commit rights, but aside from that, anyone can become a committer and all are welcome!





Aug 2, 2012 at 9:18 PM

One other point - although I'm sure most realize this.

Keep in mind as well that there is no need to upgrade .NET Bio itself to 4.5.  All you need to do is build your application with .NET 4.5 and that's the runtime that will be used.  So, you can use the released DLLs as they are without a recompile in a .NET 4.5 application right now, it all works just fine.  In fact, you get all the new runtime support - for example the new GC mechanics and higher memory allocations in 64-bit.


Aug 2, 2012 at 9:19 PM

Blair --

You could check in your WF4 updates independent of VS2012.  As long as it targets .NET 4.0 and doesn't use any of the new WF 4.5 features I think they could take the submission today because it should compile just fine under VS2010 and .NET 4.0.


Aug 20, 2012 at 11:34 PM

Hi Blair,

Can you give us more details of the work you have done - are you using the workflow components with Trident, or some other system? Did you make other updates, or did you just port them to WF4?

The reason I ask is I'm trying to get an idea of how generally valuable this would be. I absolutely would like to see this checked in, but your use of VS2012 - and perhaps also .NET 4.5(?) would be best handled by a separate branch, which would complicate our TFS. I'd like to keep things relatively simple with regard to branching (I'll post on this in a minute in its own thread) and understanding your specific needs would be a good data point.




Aug 22, 2012 at 1:24 AM

Hi everyone,

Sorry I have been very busy the last couple of weeks and have not had time to work on this personal side project. As to what I did to the workflow classes that is this:

  1. Ported them to Windows Workflow 4
    1. So they run in VS 2010 or 2012 I used 2012 because it has a better workflow designer
    2. They run in .NET 4.0 I did not use any 4.5 stuff
      1. My server does not have 4.5 on it yet
    3. All of them now extend System.Activities.CodeActivity
    4. I can bundle them up into a zip file but I do not have any bandwidth right now to do anything other than give them to you sorry



Aug 27, 2012 at 3:05 PM

No worries - we'll resolve the branching issues first - see my separate post regarding branching and how we handle it - if we choose to stay in one branch, we would be ready to accept this contribution once we move to VS2012 and .NET 4.5, in a few months.