Monthly Archives: March 2011

ms office docx format

currently working on a c# document creator. main goal is to create new word documents, based on a template and input data…

so had to read stuff about the docx format and figured out pretty quickly, that the format is xml based… cool… but its way more better…

just ads “.zip” to a word document and open it…

read more: http://msdn.microsoft.com/en-us/library/aa338205(v=office.12).aspx

c# unit testing: code coverage

ok unit testing in vs2010 was really easy… setting up code coverage analysis is simple too…

  1. edit the local.testsettings
  2. goto Data and Diagnostics
  3. enable Code Coverage
  4. configure it
  5. add the dll
  6. tada: done

just run the tests again and look at the code coverage…

c# unit testing

I thought, after using nant, it is time to use unittests in my c# code. The main idea was to try out test driven implementation methods for my next, small project.

Ok asked google about how to implement unit testing in my maschine… how was it called? NUnit? ok found something different and im really proud on microsoft… a unit testing framework is include to Visual Studio 2010… and its really easy…

Crossread the following link and understood it: http://www.dreamincode.net/forums/topic/108976-c%23-unit-testing-basics/

nant remote start and stop services

i though, stopping and starting services on a remote maschine is almost impossible… but i was mistaken…

<target name=”startService”>
    <exec program=”sc.exe”>
         <arg line=”\\${server} start ${service.name}”/>
    </exec>
</target>

thats it… just run the sc.exe… but i am not really unhappy of the simpleness of this solution 😛

compile projects with nant

compiling c# projects in visual studio is kinda easy… in nant it sould be to… after trying to build the whole solution, and reading the manual properly, <solution> can only be used with visual studio version 2002 and 2003… crap…

okt tryed it with <exec> and msbuild.exe… works 🙂 but then i figured outm that nant CAN compile projects… so back to the <solution>

<solution configuration=”debug”>
    <projects>
        <include name=”project.csproj” />
    </projects>
</solution> 

so this call opens the project.csprojfile and executes it… but normaly it throws an exception… this link provides the answer… just change the $(MSBuildToolsPath) to $(MSBuildBinPath)

so compiling projects with nant is easy 🙂

installing nant

first of all, i have no clue about visual studio and deployment… mainly i just compile it, then copy paste it. and yeah, that is really a bad way to do that… so i tought, why not simple use my old beloved ant? ok i know maven is the thing now to use, but i just need simple scripts to copy/deploy stuff… so nant will do, or have to…

  1. download: http://nant.sourceforge.net/ 
  2. install: Installation Manual

this is it 🙂 ok currently its only usable as a command line, but its working 🙂 if i am able to write scripts is something completly different…

on the other hand visual studio should be able to execute these kind of scripts… ok finding a tool was hard, but there is one: NAntAddIn

installing it on a Visual Studio 2010 is not really trivial, but with link its easy…

  1. copy the addin to the user addin folder: \My Document\Visual Studio 2010\Addins
  2. important: set the Visual Studio version to 10.0 in the NAntAddin.AddIn file
  3. now it can be added in the Visual Studio AddIn manager
  4. configure it to the nant.exe and its runable

i had to restart the visual studio, because the NAntAddIn did not print stuff in the output window. worked afterwards

so NAnt is now up and running… we will see, how it can be used by my mighty hands… 😛

Process ID IIS

currently i need to debug my sourcecode remotly. but its an IIS and normaly runds three w3p3.exe with different AppPools… so how in hell can i figure out which process is mine?

actually there is an app for that 🙂

  1. open cmd
  2. goto systemroot\system32\inetsrv
  3. run: appcmd list wp
  4. tada… 🙂

source

or create a .bat file:

systemroot\inetsrv\appcmd list wp
SET /P anykey=[promptString]