Rash thoughts about .NET, C#, F# and Dynamics NAV.


"Every solution will only lead to new problems."

Category Tools

Thursday, 8. January 2009


How I do Continuous Integration with my C# / F# projects – part II: Setting up a Continuous Integration Server

Filed under: C#,English posts,F#,Tools,Visual Studio — Steffen Forkmann at 14:50 Uhr

In the last post I showed how easy it is to install Subversion and how it can be integrated into Visual Studio 2008 via AnkhSVN. This time we will set up a Continuous Integration server and configure a build runner.

As a Continuous Integration Server I recommend JetBrains TeamCity. You can download the free professional edition at http://www.jetbrains.com/teamcity/.

Installing TeamCity

During the installation process TeamCity wants to get a port number. Be sure that there will be no conflict with other web applications on your server. I chose port 8085 – and my first build agent got this default settings:

Configure a Build Agent

In the next step you have to sign the License Agreement and to create an administrator account:

Set up administrator account

Creating a Project

Now you can create your project and set up the build configuration:

Create project on your TeamCity Server

Create CITest project

Create Build Configuration

Set up version control root

Setting up a build runner

For setting up specific build runners see the TeamCity documentation. For now I will use the “sln2008”-Build runner (the Runner for Microsoft Visual Studio 2008 solution files).

Runner for Microsoft Visual Studio 2008 solution files

Now add a build trigger. Whenever someone performs a Commit on the Subversion repository the server has to start a build.

Build trigger

Testing the build runner

After this step we have two options to start a build. The first one is by clicking the “Run”-button on the project website and the second is doing a checkin:

Triggering the build running with a checkin

After performing the Commit the pending build appears on the project website:

Pending build 

After 60 seconds (see my configuration above) the build is starting. After the build is complete one can see the results in different ways. The simplest is via the project website:

View build results

Of cause TeamCity gives you a lot of different notification and monitoring possibilities including mail, RSS feeds or System Tray Notifications.

Next time I will show how we can integrate UnitTesting in our automated build scenario.

Tags: , , , , ,

How I do Continuous Integration with my C# / F# projects – part I: Setting up Source Control

Filed under: C#,English posts,F#,Tools,Visual Studio — Steffen Forkmann at 14:31 Uhr

In this post series I will show how one can easily set up a Continuous Integration scenario for F# or C# projects with completely free products.

“Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily – leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.”

[Martin Fowler]

The first step for Continuous Integration is to set up a Source Control environment. For many good reasons I choose Subversion – some of them are:

  • Atomic commits
  • Rename/Move/Copy actions preserve the revision history
  • Directories are versioned
  • Multiple repository access protocols including HTTP and HTTPS
  • There is a nice Visual Studio integration (see below)
  • Last but not least: it is completely free 🙂
Source code version control with Subversion

All you need for setting up a complete Subversion environment is to download and install VisualSVN Server from http://www.visualsvn.com/.

“VisualSVN Server is a package that contains everything you need to install, configure and manage Subversion server for your team on Windows platform. It includes Subversion, Apache and a management console.”

[product homepage]

Now you can create user accounts and a repository ”CITest” in the VisualSVN Server management console.

Create a repository

VisualSVN Server management console

Subversion integration in Visual Studio 2008

Download and install AnkhSVN 2.0.x from http://ankhsvn.open.collab.net/.

“AnkhSVN is a Subversion SourceControl Provider for Visual Studio. The software allows you to perform the most common version control operations directly from inside the Microsoft Visual Studio IDE. With AnkhSVN you no longer need to leave your IDE to perform tasks like viewing the status of your source code, updating your Subversion working copy and committing changes. You can even browse your repository and you can plug-in your favorite diff tool.”

[product homepage]

Now you can add your C#/F#-solution to your CITest-repository:

  • Open the solution in Visual Studio 2008
  • Open “View/Repository Explorer” and add your repository to AnkhSVN
    • You can copy the URL from the VisualSVN Server management console (In my case this is https://omega:8443/svn/CITest/)
    • You also have to give AnkhSVN your Subversion login
  • Now click the right mouse button on your solution in the Solution Explorer and choose “Add Solution to Subversion”

Add Solution to Subversion

Don't forget to specify a Log Message

Now we can modify our solution and commit our changes via “Commit solution changes” in the Solution Explorer:

Commit Solution Changes

We can easily control our changes via AnkhSVN’s “Repository Explorer” and “History Viewer” in Visual Studio 2008:

Repository Explorer and History Viewer

If we do any changes in the Program.fs file, we can see a diff via the “Show changes” functionality:

Diff with AnkhSVN

If you don’t like the default Diff tool you might try WinMerge.

Next time I will show how to set up a Continuous Integration server.

Tags: , , , , , , ,

Sunday, 5. October 2008


Delphi Prism (Delphi.NET) Beta-Tests gestartet

Filed under: Tools — Steffen Forkmann at 10:02 Uhr

Chris Pattinson (CodeGear QA Manager for RAD Studio products) weist in seinem Blog darauf hin, dass eine geschlossene Beta-Phase für Delphi Prism gestartet wurde. Wer also mal die neue Delphi-Umgebung für .NET testen möchte, kann sich aber bei Embarcadero dafür bewerben.

Nachtrag:

Weitere Details gibt es z.B. bei Robert Wachtel.

Tags: , , ,

Tuesday, 30. September 2008


Agenda 2010 – oder was kann ich von der nächsten Visual Studio Version erwarten?

Filed under: .NET,Tools,Visual Studio — Steffen Forkmann at 11:49 Uhr

Microsoft hat gestern eine Pressemitteilung zum Visual Studio 2010 (Codename: Rosario) und dem .NET Framework 4.0 heraus gegeben. Einer der wesentlichen Punkte ist demnach den “Application development life cycle” (ALM) noch besser zu unterstützen. Es werden dabei wohl einige neue Modeling Tools zur Verfügung stehen, die sowohl Unified Modeling Language (UML) als auch Domain Specific Languages (DSL) unterstützen werden. Außerdem hat Microsoft stark in das oft kritisierte MSTest-Framework investiert und neue Collaboration-Features in den Team Foundation Server eingebaut.

Ein weiterer zahlreich geforderter Punkt ist, dass die Database Edition nun endlich mit der Developer Edition zusammengelegt wird.

In der Pressemitteilung wurde übrigens auch kurz eine Unterstützung für Cloud Computing angekündigt. 😉

Weitere Informationen und erste Screenshots gibt es auf der Webseite zu VS 2010. Zusätzlich werden diese Woche ständig neue “Visual Studio 2010”-Videos auf Channel 9 veröffentlicht.

https://pillenonline247.nl
Tags: , , , , , ,

Saturday, 1. March 2008


Integration einer Quellcodeverwaltung in Dynamics NAV

Filed under: .NET 3.0,C#,Dynamics NAV 2009,Navision,Tools,Visual Studio — Steffen Forkmann at 12:45 Uhr

Wie bereits vor einiger Zeit im Blog berichtet, habe ich für unseren internen Produktionsablauf ein Tool geschrieben, das es ermöglicht eine Quellcodeversionsverwaltung (z.B. VSS, SVN oder Team Foundation Server) direkt in Dynamics NAV zu integrieren. Jetzt habe ich mir mal die Mühe gemacht, die wichtigsten Funktionen in einem kleinen Screencast zu dokumentieren. (Dies ist jedoch erstmal nur eine Vorabversion des Videos.) 

Das Schöne an diesem Tool ist, dass man aus beiden Blickrichtungen alle nötigen Informationen zu einer Version bekommt. Ich sehe also an der Datei die Änderungshistorie mit den entsprechenden ChangeRequests oder Ticketnummern und kann auch rückwärts an einer Aufgabe sehen, welche Änderungen dafür konkret am Quellcode gemacht wurden und von wem.

Für Visual Studio-Nutzer ist das natürlich nichts neues, aber gerade im ERP-Bereich wird oft (mangels fehlender Tools) auf eine Quellcodeverwaltung verzichtet.

Tags: , , , , , , ,

Sunday, 10. February 2008


Workshop zu SCRUM und Team Foundation Server

Filed under: .NET 3.0,Informatik,Tools,Veranstaltungen,Visual Studio — Steffen Forkmann at 11:28 Uhr

Am 15.02.2008 findet von 13 – 17 Uhr in der Universität Leipzig ein kostenloser Workshop von Jens Korte zum Vorgehensmodell SCRUM in Verbindung mit dem Team Foundation Server statt.

Weitere Informationen im Blog von Torsten Weber.

Tags: , , , ,

Tuesday, 5. February 2008


Sure Step Methodology Version 1.1 released

Filed under: Navision,Tools — Steffen Forkmann at 16:08 Uhr

Am 21.1. wurde eine neue Version von Microsofts Sure Step Methodology veröffentlicht. Unter anderem beinhaltet das Release auch Übersetzungen der Templates ins Deutsche – allerdings muss man die Links im Text in dieser Version leider noch selber umbiegen.

SureStep bietet umfangreiche Dokumentenvorlagen für nahezu jede Phase eines Projektes und über den mitgelieferten Editor kann man die Vorlagen noch an die eigenen Prozesse anpassen.

Sure Step Methodology Overview

Download Sure Step Methodology [PartnerSource]

Tags: ,

Friday, 7. December 2007


Transparente PNG im Internet Explorer 6

Filed under: ASP.NET,Sebastian,Tools — Sebastian Wolf at 15:04 Uhr

Ich bin schon öfters auf das Problem gestoßen, dass ich transparente PNGs verwendet habe, diese aber leider nicht korrekt im IE 6 angezeigt werden. 🙁 Also habe ich mich mal auf die Suche nach einer Lösung gemacht und bin auch fündig geworden.

Und zwar muss man als erstes einen CSS Hack benutzen, damit nur der Internet Explorer 6 diesen Teil des Stylesheets sieht. Danach benutzt man noch einen Filter welcher auch nur vom IE unterstützt wird und schon funktioniert die Transparenz wunderbar. 🙂

(weiterlesen…)

Tags: , ,

Saturday, 1. December 2007


Visual Studio 2008, VSS und ReSharper

Filed under: C#,Tools,Visual Studio — Steffen Forkmann at 18:43 Uhr

Kurz nachdem ich mir Visual Studio 2008 installiert habe, wollte ich ein kleineres Datenbank-Projekt komplett auf LINQ2SQL umstellen. Insgesamt muss ich sagen, dass dies erstaunlich leicht von der Hand ging und der Quellcode nun wesentlich schöner und aufgeräumter aussieht.

Allerdings habe ich immer noch zwei riesige Probleme:

1. Die VSS-Integration in Visual Studio 2008 buggt

Leider ist das Update 1 für VisualSourceSafe 2005 nicht rechtzeitig zum Release von Visual Studio 2008 fertig geworden. Es gibt zwar eine CTP, aber nur für die englische Version (die ich natürlich gerade nicht habe). Da ich aber vermeiden wollte unser gesamtes VSS in eine instabile Lage zu versetzen, habe ich notgedrungen die SourceSafeIntegration meines Projektes abgeschaltet. Jetzt kopiere ich mir Sicherungen – was für ein Rückschlag!

2. ReSharper 3.x kann mit C# 3.0 nichts anfangen

Offenbar ist auch JetBrains vom Release von VS2008 etwas überrollt wurden. Mein Lieblingsplugin ReSharper versteht leider kein C# 3.0 und insbesondere auch kein LINQ. Also markiert er den gesamten LINQ-Code als fehlerhaft und blockiert auch das IntelliSense. Auch dies ist ein äußerst unbefriedigender Zustand – zumal C# 3.0 Support offenbar erst für ReSharper 4.0 geplant ist. Momentan habe ich jedoch die Hoffnung, dass kurzfristig wenigstens ein paar Features eingebaut werden, die selektiv für einige Files ReSharper abschalten können. 

Nachtrag: Ilya Ryzhenkov, der Product Manager für ReSharper schreibt in seinem Blog, dass ReSharper 4.0 ab Januar 2008 im EAP-Program downloadbar sein soll.

Nachtrag 2: Visual SourceSafe 2005 Update 1 ist nun auch verfügbar, so dass ich jetzt wieder ordentlich einchecken kann.

Nachtrag 3: Das Early Access Programm (EAP) für ReSharper 4.0 wurde leider auf “bis spätestens zum 15. Februar” verschoben.

Tags: , , , ,

Friday, 9. November 2007


ReSharper – Early Access Program (EAP)

Filed under: Tools,Visual Studio — Steffen Forkmann at 16:46 Uhr

Vor einiger Zeit habe ich einen Testbericht zu ReSharper verfasst und einige kleinere Bugs bemängelt. JetBrains gibt jedoch öffentlichen Zugang zu seinen Nightly Builds bzw. zum Early Access Program. Dort gibt es fast jeden Tag einen frischen Build aus einer der folgenden Kategorien: Not tested, Works here, Stable, Not recommended

Neben jeden Build ist auch immer ein Verweis auf die im Build geschlossenen Tickets.

Ich habe jetzt die letzte Stable-Version installiert und die bemängelten Bugs sind offenbar behoben. Es gibt jetzt sogar eine Anzeige für den globalen Projektstatus.

Tags: , , ,