<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>.NET Entwicklung &#38; Architektur</title>
	<atom:link href="http://peroxide20.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://peroxide20.wordpress.com</link>
	<description>blog by Daniel K.</description>
	<lastBuildDate>Sat, 26 Nov 2011 22:03:23 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='peroxide20.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>.NET Entwicklung &#38; Architektur</title>
		<link>http://peroxide20.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://peroxide20.wordpress.com/osd.xml" title=".NET Entwicklung &#38; Architektur" />
	<atom:link rel='hub' href='http://peroxide20.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Microsoft Visual Studio ALM Days 2011 (ehemals TeamConf)</title>
		<link>http://peroxide20.wordpress.com/2011/11/01/microsoft-visual-studio-alm-days-2011-ehemals-teamconf/</link>
		<comments>http://peroxide20.wordpress.com/2011/11/01/microsoft-visual-studio-alm-days-2011-ehemals-teamconf/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 11:45:18 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[patterns&practices]]></category>
		<category><![CDATA[Teambuild]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[TFS API]]></category>
		<category><![CDATA[TFS2010]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[tfs 2010]]></category>
		<category><![CDATA[Vortrag]]></category>

		<guid isPermaLink="false">https://peroxide20.wordpress.com/2011/11/01/microsoft-visual-studio-alm-days-2011-ehemals-teamconf/</guid>
		<description><![CDATA[Vom 23.-25. November findet die TeamConf 2011 unter neuem Namen ALM Days in München statt. Wie in den vergangenen Jahren werden hochkarätige Vorträge und Speaker u. a. Sam Guckenheimer (Microsoft) und Brian Harry (Microsoft) vor Ort sein. Auch wir von der T-Systems Multimedia Solutions GmbH sind mit Vorträgen rund um das Thema ALM vertreten. Sebastian [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=162&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vom 23.-25. November findet die TeamConf 2011 unter neuem Namen <a href="http://teamconf.de">ALM Days</a> in München statt. Wie in den vergangenen Jahren werden <a href="http://www.teamconf.de/agenda.html">hochkarätige Vorträge</a> und Speaker u. a. Sam Guckenheimer (Microsoft) und Brian Harry (Microsoft) vor Ort sein. </p>
<p>Auch wir von der <a href="http://www.t-systems-mms.com/unternehmen/events_termine/messen/alm-days" target="_blank">T-Systems Multimedia Solutions GmbH</a> sind mit Vorträgen rund um das Thema ALM vertreten. <b>Sebastian Wagner</b>, Projektleiter und <b>Daniel Kubis, </b>Software<b> </b>Architekt bei der MMS, <a href="http://www.teamconf.de/vortraege/management-day/articles/praxisstudie-zum-erfolgreichen-einsatz-des-tfs-2010-bei-der-t-systems-multimedia-solutions-gmbh.html">berichten über Erfahrungen bei der Einführung des TFS 2010 und die Einbindung in die Unternehmensprozesse</a> bei der T-Systems MMS. <b>Daniel Kubis </b>stellt am Technical Day <a href="http://www.teamconf.de/vortraege/technical-day/articles/was-ist-tfs-teambuild-was-kann-ich-damit-machen-und-wie-passe-ich-den-prozess-an-meine-beduerfnisse-an.html">Erfahrungen und Best Practices mit TFS Teambuild</a> und Sebastian Wagner <a href="http://www.teamconf.de/vortraege/technical-day/articles/einblick-in-die-sharepoint-entwicklung-mit-dem-team-foundation-server-2010-bei-der-t-systems-multimedia-solutions-gmbh.html">best practices bei der SharePoint Entwicklung mit TFS 2010</a> vor.</p>
<p>Hier finden Sie die Agenda, das begleitende Workshop-Angebot und das Anmeldungsformular:    <br /><strong><a href="http://www.teamconf.de">www.teamconf.de</a></strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/162/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=162&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2011/11/01/microsoft-visual-studio-alm-days-2011-ehemals-teamconf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>
	</item>
		<item>
		<title>TFS 2010 Teambuild &#124; Mythen zum Gated Check-In</title>
		<link>http://peroxide20.wordpress.com/2011/09/30/tfs-2010-teambuild-mythen-zum-gated-check-in/</link>
		<comments>http://peroxide20.wordpress.com/2011/09/30/tfs-2010-teambuild-mythen-zum-gated-check-in/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 06:45:00 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C#4.0]]></category>
		<category><![CDATA[Teambuild]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[TFS2010]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[Check-in]]></category>
		<category><![CDATA[CheckIn]]></category>
		<category><![CDATA[Continuous Build]]></category>
		<category><![CDATA[Gated]]></category>
		<category><![CDATA[tfs 2010]]></category>

		<guid isPermaLink="false">https://peroxide20.wordpress.com/2011/09/30/tfs-2010-teambuild-mythen-zum-gated-check-in/</guid>
		<description><![CDATA[Ich hatte ja schon vor Tagen einen Artikel über Gated Check-In aus Entwicklersicht geschrieben und versucht ein paar Mythen auszuräumen. Trotzdem kommen immer wieder neue Fragen und Fragezeichen auf. Ein Kollege wollte gerne eine Check-In Policy, die ein “Get Latest” vor dem Check-In simuliert, weil sie das Gefühl hatten, dass dank des Gated Check-In Code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=158&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich hatte ja schon <a href="https://peroxide20.wordpress.com/2011/07/03/gated-builds-gated-check-in-mit-tfs2010-vs2010-aus-sicht-eines-entwicklers/" target="_blank">vor Tagen einen Artikel über Gated Check-In aus Entwicklersicht geschrieben</a> und versucht ein paar Mythen auszuräumen. Trotzdem kommen immer wieder neue Fragen und Fragezeichen auf. </p>
<p>Ein Kollege wollte gerne eine Check-In Policy, die ein “Get Latest” vor dem Check-In simuliert, weil sie das Gefühl hatten, dass dank des Gated Check-In Code verloren geht. Das konnte ich nicht glauben und war auch der Meinung, das so eine Check-In Policy völliger Quatsch ist. Beim Check-In wird der Entwickler sowieso gezwungen bei Konflikten einen Merge am Client zu machen. Wenn die Konflikte behoben sind kann er den Check-In vornehmen und der Gated Build würde den Code bei erfolgreichem Build auch in den TFS Server einchecken.</p>
<p>Was ist also der Grund für den Policy Wunsch bzw. der Grund für den “verlorenen” Code? Nehmen wir mal an zwei oder mehr Entwickler ändern genau an den gleichen Codezeilen und versuchen nahezu zeitgleich einzuschecken. Bei jedem Entwickler wird auf seinem Client mit dem Stand der im TFS eingecheckt ist ein Merge vollzogen und kein Konflikt festgestellt. Der Code geht also an den Team-Build und reiht sich in die Schlange der Gated Builds ein. Siehe Abbildung 1.</p>
<p><a href="http://peroxide20.files.wordpress.com/2011/10/clip_image002.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0 5px;" title="clip_image002" border="0" alt="clip_image002" src="http://peroxide20.files.wordpress.com/2011/10/clip_image002_thumb.jpg?w=380&#038;h=90" width="380" height="90" /></a>     <br /><strong><font size="1">Abb. 1: Gleichzeitige “Gated Builds” werden in Build-Queue eingereiht.</font></strong></p>
<p>Wenn der Code erfolgreich gebaut hat, wird der Code des “schnellsten” Entwicklers an den TFS Server übergeben. Der nächste Gated Build kann aus der Queue durch der Build-Controller gestartet werden. Jetzt kann es passieren, dass der Gated Build schon am Anfang fehl schlägt, wenn kein “Auto-Merge” durchgeführt werden kann (weil ja die Entwickler auf der gleichen Codezeile Änderungen vorgenommen hatten). Das erwartete Verhalten ist also, dass folgende Builds aus der Queue immer nur nacheinander und nie zeitgleich ablaufen und dass bei Merge-Konflikten der Build fehlschlägt und der Entwickler erneut Clientseitig Mergen muss um einen weiteren Gated Build anzustoßen.</p>
<p>Jetzt haben wir aber das Phänomen, dass wie in Abbildung 2 zu sehen, die weiteren Gated Builds aus der Queue NICHT wie erwartet nacheinander Loslaufen sondern auf einmal gleichzeitig auf verschiedenen Agents?! </p>
<p><a href="http://peroxide20.files.wordpress.com/2011/10/clip_image0024.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0 5px;" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://peroxide20.files.wordpress.com/2011/10/clip_image0024_thumb.jpg?w=380&#038;h=84" width="380" height="84" /></a>     <br /><strong><font size="1">Abb. 2: Fehler? “Gated Builds” werden aus der Build-Queue gleichzeitig gestartet.</font></strong></p>
<p>Hier liegt vermutlich das Problem. Jeder Build für sich ist auf dem Agent valide und geht erfolgreich durch und wird in den TFS eingecheckt. Wenn aber Änderungen an gleichen Codepassagen vorhanden sind, kann es passieren, dass Code verloren geht?! Wer hat ähnliche Phänomene und kann Tipps geben.</p>
<p>In verschiedenen Foren haben wir ähnliche Probleme entdeckt, aber noch keine Lösung. Wir nutzen nur einen Build-Controller, der wiederum sehr viele Agents verwaltet. Es ist auch schon häufiger aufgetreten dieses Problem.</p>
<p><strong>Fazit:</strong> Es würde definitiv keine Check-In Policy helfen, die “Get Latest” vor dem Check-In erzwingt, denn Merge Konflikte muss der Entwickler sowieso manuell lösen und das geht nur gegen den Code der im TFS eingecheckt ist. Würde die Queue im Falle eines Gated Check-In auch wie erwartet arbeiten (also alle Builds sequentiell) würde aus meiner Sicht auch nie Code überschrieben/verloren gehen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/158/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=158&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2011/09/30/tfs-2010-teambuild-mythen-zum-gated-check-in/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2011/10/clip_image002_thumb.jpg" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2011/10/clip_image0024_thumb.jpg" medium="image">
			<media:title type="html">clip_image002[4]</media:title>
		</media:content>
	</item>
		<item>
		<title>Gated Builds / Gated Check-in mit TFS2010 / VS2010 aus Sicht eines Entwicklers</title>
		<link>http://peroxide20.wordpress.com/2011/07/03/gated-builds-gated-check-in-mit-tfs2010-vs2010-aus-sicht-eines-entwicklers/</link>
		<comments>http://peroxide20.wordpress.com/2011/07/03/gated-builds-gated-check-in-mit-tfs2010-vs2010-aus-sicht-eines-entwicklers/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 13:04:15 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[Teambuild]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[TFS2010]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[Check-in]]></category>
		<category><![CDATA[CheckIn]]></category>
		<category><![CDATA[Continuous Build]]></category>
		<category><![CDATA[Gated]]></category>
		<category><![CDATA[tfs 2010]]></category>

		<guid isPermaLink="false">https://peroxide20.wordpress.com/2011/07/03/gated-builds-gated-check-in-mit-tfs2010-vs2010-aus-sicht-eines-entwicklers/</guid>
		<description><![CDATA[Seit TFS 2010 gibt es die Möglichkeit einen “Gated Check-in” zu erzwingen. Dadurch ändert sich das Handling für den normalen Entwickler ein bisschen, denn der TFS checkt den Code eines Entwicklers nur dann ein, wenn der “Gated Build” erfolgreich war. Wie der normale Workflow ist habe ich hier für alle Entscheidungen und Fälle bei einem [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=151&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Seit <a href="http://www.microsoft.com/germany/visualstudio/products/team/visual-studio-team-foundation-server.aspx" target="_blank">TFS 2010</a> gibt es die Möglichkeit einen <a href="http://msdn.microsoft.com/en-us/library/dd787631.aspx" target="_blank">“Gated Check-in”</a> zu erzwingen. Dadurch ändert sich das Handling für den normalen Entwickler ein bisschen, denn der TFS checkt den Code eines Entwicklers nur dann ein, wenn der “Gated Build” erfolgreich war.     <br /><a href="http://peroxide20.files.wordpress.com/2011/07/image.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;margin:0 5px;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2011/07/image_thumb.png?w=380&#038;h=100" width="380" height="100" /></a></p>
<p>Wie der normale Workflow ist habe ich hier für alle Entscheidungen und Fälle bei einem Gated Check-in zusammengefasst:</p>
<ul>
<li>
<h5>Unmittelbar vor dem Einchecken: </h5>
</li>
<ol>
<li>&quot;Get Latest&quot;, damit verhindert man ggf. Check-in Konflikte.</li>
<li>Rebuild Solution, danach ggf. Warnings, Fehler entfernen</li>
<li>UnitTests durchführen, evtl. Fehler beseitigen</li>
</ol>
<li>
<h5>Änderungen Einchecken:</h5>
</li>
<ol>
<li>Kommentar zum Check-in abgeben</li>
<li>Mit Work Item verknüpfen (im Idealfall mit einem Task, Bug und diesen auf Resolved stellen)</li>
<li>Mit OK wird der verbundene <em>“Gated Check-in”</em> angezeigt. Hier hat der Entwickler zwei Möglichkeiten (Änderungen lokal beibehalten, oder nicht beibehalten): </li>
<li><a href="http://peroxide20.files.wordpress.com/2011/07/image1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0 5px;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2011/07/image_thumb1.png?w=380&#038;h=232" width="380" height="232" /></a></li>
<li>Abhängig ob man die Änderungen lokal beibehalten oder nicht beibehalten hat, muss man je nach Erfolg des Builds verschiedene Schritte durchführen:</li>
</ol>
<li>
<h5>Nach erfolgreichem Build (&quot;Preserve my Pending Changes&quot;/Änderungen lokal beibehalten angewählt):</h5>
</li>
<ol>
<li><em>&quot;Reconcile Workspace&quot;</em> &#8211; gleicht lokalen Stand mit dem auf dem Server ab</li>
<li><em>&quot;Undo Pending Changes&quot;</em> &#8211; macht Checkout von nicht geänderten Dateien rückgängig</li>
<li>Jetzt hat man lokal wieder den letzten Stand aller Sourcen und hat keine Dateien mehr ausgecheckt.</li>
</ol>
<li>
<h5>Nach erfolgreichem Build (&quot;Preserve my Pending Changes&quot;/Änderungen lokal nicht beibehalten abge-wählt):</h5>
<ol>
<li><em>&quot;Get Latest&quot;</em> &#8211; letzten Stand abrufen, da vorher ein Shelve + undo pending changes lokal gemacht wurde</li>
</ol>
</li>
<li>
<h5>Nach Fehlerhaftem Build (&quot;Preserve my Pending Changes&quot; angewählt):</h5>
</li>
<ol>
<li>ggf. “Get Latest Version” oder “Get Specific Version”       <br /><a href="http://peroxide20.files.wordpress.com/2011/07/image2.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2011/07/image_thumb2.png?w=380&#038;h=143" width="380" height="143" /></a></li>
<li>Problem beheben, Fehler fixen, Tests fixen</li>
<li>Erneut einchecken und warten</li>
</ol>
<li>
<h5>Nach Fehlerhaftem Build (&quot;Preserve my Pending Changes&quot; abgewählt):</h5>
</li>
<ol>
<li>Stand &quot;unshelven&quot; um lokal wieder den Fehlerhaften Stand zu haben.</li>
<li>Problem beheben, Fehler fixen, Tests fixen</li>
<li>Erneut einchecken und warten</li>
</ol>
</ul>
<p>Man kann unabhängig ob man die Änderungen bei einem Gated Check-in lokal beibehält oder nicht prinzipiell weiterarbeiten. Vielleicht bietet es sich trotzdem an den Gated Build abzuwarten und solange keine weiteren Änderungen vorzunehmen. Wenn man sich mit den ganzen Workflows vertraut gemacht hat und die Mechanik verstanden hat, wird man feststellen, dass es durchaus möglich ist ganz normal weiterzuarbeiten und sich von der ganzen “Gated Build Problematik” nicht weiter einzuschränken. Es ist also meiner Meinung nach ein “Mythos” dass Gated Check-in eine Blockade oder Bremse bei der Entwicklung darstellt.</p>
<p>Dinge wie “<em>Reconcile</em>” oder “<em>Unshelve</em>” kann man an verschiedenen Stellen machen. Die beste ist eigentlich im “Build Explorer” an einem bestimmten Build mit rechter Maustaste:</p>
<p><a href="http://peroxide20.files.wordpress.com/2011/07/image3.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;margin:0 5px;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2011/07/image_thumb3.png?w=216&#038;h=164" width="216" height="164" /></a>    <br /><strong>Rechte Maustaste an einem fehlgeschlagenen “Gated Build”</strong></p>
<p><a href="http://peroxide20.files.wordpress.com/2011/07/image4.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;margin:0 5px;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2011/07/image_thumb4.png?w=231&#038;h=143" width="231" height="143" /></a>    <br /><strong>Rechte Maustaste an einem erfolgreichen “Gated Build”</strong></p>
<p>Was alles bei einem Gated Check-in Workflow passieren soll (nur Compilieren, oder auch UnitTests usw.) entscheidet letztendlich der Buildmanager. Was man dort alles machen und optimieren kann werde ich in einem weiteren gesonderten Post beschreiben.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/151/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=151&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2011/07/03/gated-builds-gated-check-in-mit-tfs2010-vs2010-aus-sicht-eines-entwicklers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2011/07/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2011/07/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2011/07/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2011/07/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2011/07/image_thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>VS 2010 Extensions &#8211; meine Favoriten</title>
		<link>http://peroxide20.wordpress.com/2011/06/30/vs-2010-extensions-meine-favoriten/</link>
		<comments>http://peroxide20.wordpress.com/2011/06/30/vs-2010-extensions-meine-favoriten/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 20:08:31 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[AddOn]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[TFS2010]]></category>
		<category><![CDATA[Extension]]></category>

		<guid isPermaLink="false">https://peroxide20.wordpress.com/2011/06/30/vs-2010-extensions-meine-favoriten/</guid>
		<description><![CDATA[Ich hatte ja schon mal vor langer Zeit einen beliebten Artikel zu Visual Studio Erweiterungen. Jetzt ist wieder viel Zeit vergangen und es ist inzwischen deutlich komfortabler geworden, dank des Extension Managers in Visual Studio. Hier also eine kleine Auflistung in verschiedenen Kategorien. Ohne geht gar nicht: ReSharper (die einzige kostenpflichtige in der Aufstellung) Productivity [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=139&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich hatte ja schon mal vor langer Zeit einen <a href="https://peroxide20.wordpress.com/2008/11/10/visual-studio-addons-addins-plugins-links/" target="_blank">beliebten Artikel zu Visual Studio Erweiterungen</a>. Jetzt ist wieder viel Zeit vergangen und es ist inzwischen deutlich komfortabler geworden, dank des Extension Managers in Visual Studio. Hier also eine kleine Auflistung in verschiedenen Kategorien.</p>
<h5>Ohne geht gar nicht:</h5>
<ul>
<li><a href="http://www.jetbrains.com/resharper/" target="_blank">ReSharper</a> (die einzige kostenpflichtige in der Aufstellung)</li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef" target="_blank">Productivity Power Tools</a></li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/e5f41ad9-4edc-4912-bca3-91147db95b99" target="_blank">PowerCommands for Visual Studio 2010</a></li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f" target="_blank">Team Foundation Server Power Tools March 2011</a></li>
</ul>
<h5>Sollte man haben:</h5>
<ul>
<li><a href="http://stylecop.codeplex.com/" target="_blank">Stylecop</a> (schon mit ReSharper Integration)</li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/080540cb-e35f-4651-b71c-86c73e4a633d" target="_blank">TFS Auto Shelve</a> (nie mehr das Shelven am Abend vergessen!)</li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/b8d3f3b8-4693-44b8-9998-310cdd8b08b2" target="_blank">Search Work Items</a></li>
</ul>
<h5>Kann man mal probieren und ist ganz nett:</h5>
<ul>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/46A20578-F0D5-4B1E-B55D-F001A6345748" target="_blank">GhostDoc</a></li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/4b92b6ad-f563-4705-8f7b-7f85ba3cc6bb" target="_blank">Highlight all occurrences of selected word</a></li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/237f823c-45b4-4f1f-b9e2-607fe66eaae7" target="_blank">Application Architecture Guide Layer Diagrams</a></li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/9c8051f8-e8f7-45b1-8d04-dad6afc697d2" target="_blank">Architecture Layers Patterns</a></li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/35daa606-4917-43c4-98ab-38632d9dbd45" target="_blank">Inmeta.VisualStudio.TeamExplorer.BuildExplorer</a></li>
</ul>
<p>Viel Spaß beim installieren und ausprobieren. Bis auf ReSharper sind alles kostenlose Extensions für Visual Studio 2010.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=139&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2011/06/30/vs-2010-extensions-meine-favoriten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>
	</item>
		<item>
		<title>TFS Check-In Policy &#124; Nur auf &#8220;aktive&#8221; Work Items einchecken</title>
		<link>http://peroxide20.wordpress.com/2011/06/30/nur-auf-aktive-work-items-einchecken/</link>
		<comments>http://peroxide20.wordpress.com/2011/06/30/nur-auf-aktive-work-items-einchecken/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 19:30:55 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[AddOn]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[TFS2010]]></category>
		<category><![CDATA[tfs 2010]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[Check-In Policy]]></category>

		<guid isPermaLink="false">https://peroxide20.wordpress.com/2011/06/30/nur-auf-aktive-work-items-einchecken/</guid>
		<description><![CDATA[Ein Kollege fragte heute, wie er seine Entwickler dazu bekommt nur auf aktive Work Items im TFS einzuchecken. Ja dafür gibt es eigentlich eine ganz passable Möglichkeit in dem man die “Work Item Query Policy” verwendet. &#160; Team Project Settings &#62; Source Control &#160; Check-in Policy &#62; Add &#62; Work Item Query Policy Jetzt noch [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=133&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ein Kollege fragte heute, wie er seine Entwickler dazu bekommt nur auf aktive Work Items im TFS einzuchecken. Ja dafür gibt es eigentlich eine ganz passable Möglichkeit in dem man die “Work Item Query Policy” verwendet.</p>
<p>&#160;<a href="http://peroxide20.files.wordpress.com/2011/06/image2.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2011/06/image_thumb2.png?w=400&#038;h=206" width="400" height="206" /></a>     <br />Team Project Settings &gt; Source Control</p>
<p>&#160;<a href="http://peroxide20.files.wordpress.com/2011/06/image3.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2011/06/image_thumb3.png?w=400&#038;h=259" width="400" height="259" /></a>     <br />Check-in Policy &gt; Add &gt; Work Item Query Policy</p>
<p>Jetzt noch eine entsprechende Team Query auswählen und fertig. Jetzt können die Entwickler nur noch Work Items auswählen, die durch die Query gefunden werden. Sinnvoll ist dann z.B. “All My Active WorkItems” als Query anzulegen. Es kann aber auch Sinn machen, dass ein Entwickler nur WorkItems aus einem aktuellen Sprint wählen kann. Auch dass kann man ja durch anpassen der Query entsprechend erreichen.</p>
<p>Wo kommt nun diese Check-in Policy her? Jeder Teilnehmer des Team Projektes muss in seinem Visual Studio die folgende Extension installieren: <a href="http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f?SRC=VSIDE" target="_blank">Team Foundation Server Power Tools March 2011</a></p>
<p>Der Projektadmin kann entsprechende Queries anlegen oder modifizieren und auch die Check-in Policies administrieren.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/133/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=133&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2011/06/30/nur-auf-aktive-work-items-einchecken/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2011/06/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2011/06/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Abfragen aller Builds auf einer Project Collection</title>
		<link>http://peroxide20.wordpress.com/2011/06/23/abfragen-aller-builds-auf-einer-project-collection/</link>
		<comments>http://peroxide20.wordpress.com/2011/06/23/abfragen-aller-builds-auf-einer-project-collection/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 11:51:42 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[TFS API]]></category>
		<category><![CDATA[TFS2010]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">https://peroxide20.wordpress.com/2011/06/23/abfragen-aller-builds-auf-einer-project-collection/</guid>
		<description><![CDATA[Mit der TFS API ist es relativ einfach zu einer Project Collection alle Build-Definitions und deren Eigenschaften abzufragen. Im Beispiel werden z.B. die gesetzten BuildController und Tags abgefragt: 1: using System; 2: using System.Linq; 3: using System.Xml.Linq; 4: using System.Xml.XPath; 5: using Microsoft.TeamFoundation.Build.Client; 6: using Microsoft.TeamFoundation.Client; 7: 8: namespace ConsoleApplication1 9: { 10: class Program [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=124&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mit der TFS API ist es relativ einfach zu einer Project Collection alle Build-Definitions und deren Eigenschaften abzufragen. Im Beispiel werden z.B. die gesetzten BuildController und Tags abgefragt:</p>
<div style="border-bottom:#cecece 1px solid;border-left:#cecece 1px solid;background-color:#fbfbfb;min-height:40px;width:430px;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;padding:5px;">1: <span style="color:#0000ff;">using</span> System;
<pre></pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;">  2: <span style="color:#0000ff;">using</span> System.Linq;
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;">  3: <span style="color:#0000ff;">using</span> System.Xml.Linq;
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;">  4: <span style="color:#0000ff;">using</span> System.Xml.XPath;
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;">  5: <span style="color:#0000ff;">using</span> Microsoft.TeamFoundation.Build.Client;
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;">  6: <span style="color:#0000ff;">using</span> Microsoft.TeamFoundation.Client;
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;">  7:
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;">  8: <span style="color:#0000ff;">namespace</span> ConsoleApplication1
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;">  9: {
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 10:     <span style="color:#0000ff;">class</span> Program
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 11:     {
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 12:         <span style="color:#0000ff;">static</span> <span style="color:#0000ff;">void</span> Main(<span style="color:#0000ff;">string</span>[] args)
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 13:         {
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 14:             Console.WriteLine("<span style="color:#8b0000;">Collection Url:</span>");
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 15:             var MyCollectionUrl = "<span style="color:#8b0000;">http://tfs:8080/collection</span>";
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 16:             Console.WriteLine("<span style="color:#8b0000;">Collection Url: {0}</span>", MyCollectionUrl);
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 17:             var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(<span style="color:#0000ff;">new</span> Uri(MyCollectionUrl));
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 18:             var bs = tfs.GetService&lt;IBuildServer&gt;();
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 19:             var bsSpec = bs.CreateBuildDefinitionSpec("<span style="color:#8b0000;">*</span>", "<span style="color:#8b0000;">*</span>");
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 20:             var results = bs.QueryBuildDefinitions(bsSpec);
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 21:
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 22:             <span style="color:#0000ff;">foreach</span> (var qb <span style="color:#0000ff;">in</span> results.Definitions)
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 23:             {
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 24:                 <span style="color:#0000ff;">if</span> (qb.BuildController != <span style="color:#0000ff;">null</span>)
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 25:                 {
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 26:                     var cu = qb.BuildController.Name;
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 27:                     var p2 = qb.BuildController.ServiceHost.Name;
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 28:                     <span style="color:#0000ff;">string</span> tags = "<span style="color:#8b0000;">null</span>";
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 29:                     <span style="color:#0000ff;">if</span> (qb.ProcessParameters != <span style="color:#0000ff;">null</span>)
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 30:                     {
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 31:                         var xmlProcessParameters = XElement.Parse(qb.ProcessParameters);
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 32:
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 33:                         var agentsettings =
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 34:                             xmlProcessParameters.Nodes().Select(xNode =&gt; xNode).Where(
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 35:                                 name =&gt; name.ToString().Contains("<span style="color:#8b0000;">AgentSettings</span>"));
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 36:                         <span style="color:#0000ff;">if</span> (agentsettings.FirstOrDefault() != <span style="color:#0000ff;">null</span>)
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 37:                             tags = agentsettings.First().CreateNavigator().GetAttribute("<span style="color:#8b0000;">Tags</span>", <span style="color:#0000ff;">string</span>.Empty);
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 38:                     }
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 39:
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 40:                     <span style="color:#0000ff;">string</span> def = qb.TeamProject + @"<span style="color:#8b0000;">\</span>" + qb.Name;
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 41:                     Console.WriteLine("<span style="color:#8b0000;">{0}\t{1}\t{2}\tTags: {3} </span>", cu, p2, def, tags);
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 42:                 }
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 43:                 <span style="color:#0000ff;">else</span>
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 44:                 {
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 45:                     <span style="color:#0000ff;">string</span> def = qb.TeamProject + @"<span style="color:#8b0000;">\</span>" + qb.Name;
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 46:                     Console.WriteLine("<span style="color:#8b0000;">{0}\t{1}\t{2} </span>", "<span style="color:#8b0000;">null</span>", "<span style="color:#8b0000;">null</span>", def);
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 47:                 }
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 48:             }
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 49:
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 50:             Console.ReadLine();
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 51:         }
</pre>
<pre style="background-color:#ffffff;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 52:     }
</pre>
<pre style="background-color:#fbfbfb;width:100%;font-family:consolas,'Courier New',courier,monospace;font-size:10px;margin:0;"> 53: }</pre>
</div>
<p>In der Ausgabe erhält man bei diesem Beispiel eine Ansicht aller Teamprojekte der Projektcollection “collection” auf die man als Ausführer Zugriff besitzt. Welcher Buildcontroller und welche Agent-Tags werden für welche Builddefinition verwendet.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/124/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=124&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2011/06/23/abfragen-aller-builds-auf-einer-project-collection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft Process Template (MPT) mit TFS2010</title>
		<link>http://peroxide20.wordpress.com/2010/06/04/microsoft-process-template-mpt-mit-tfs2010/</link>
		<comments>http://peroxide20.wordpress.com/2010/06/04/microsoft-process-template-mpt-mit-tfs2010/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 10:40:09 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C#4.0]]></category>
		<category><![CDATA[Process-Template]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[TFS2010]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[VSTS2010]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[mpt]]></category>
		<category><![CDATA[Process Template]]></category>
		<category><![CDATA[tfs 2008]]></category>
		<category><![CDATA[tfs 2010]]></category>

		<guid isPermaLink="false">https://peroxide20.wordpress.com/2010/06/04/microsoft-process-template-mpt-mit-tfs2010/</guid>
		<description><![CDATA[Microsoft hat auf Codeplex ein Template zur Verfügung gestellt, dass für Visual Studio Team System 2008 (VSTS) eine hierarchische Abbildung von Work Items ermöglicht. Mit TFS 2010 wird die Hierarchie nun aber von Haus aus unterstützt und somit ist mit Sicherheit eine Reimplementierung dieses Templates notwendig. Zur Zeit steht aber weder dieses Template auf Codeplex [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=123&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Microsoft hat auf C<a href="http://mpt.codeplex.com/" target="_blank">odeplex</a> ein Template zur Verfügung gestellt, dass für Visual Studio Team System 2008 (VSTS) eine hierarchische Abbildung von Work Items ermöglicht. Mit <a href="http://www.microsoft.com/germany/visualstudio/products/team/visual-studio-team-foundation-server.aspx" target="_blank">TFS 2010</a> wird die Hierarchie nun aber von Haus aus unterstützt und somit ist mit Sicherheit eine Reimplementierung dieses Templates notwendig. Zur Zeit steht aber weder dieses Template auf Codeplex zur Verfügung noch, dass es Infos zu diesem Template im Zusammenhang mit TFS 2010 existieren.</p>
<p>Wir haben dieses Template etwas abgewandelt eingesetzt und standen jetzt aber vor dem Schritt, wie wir dieses weiter unter TFS 2010 supporten, bevor die Projekte auslaufen oder auf neue Templates migriert werden. Die gute Nachricht vorweg, wir haben einen Weg für uns gefunden, den zugehörigen Dienst weiterhin funktionstüchtig zu halten. Dazu hier ein kurzer Abriss zu den notwendigen Schritten:</p>
<ol>
<li>Es bietet sich an die Solution mit Visual Studio 2010 zu öffnen und die verwendeten Referenzen auf den TFS neu zu setzen (von Version 9.0.0.0 auf 10.0.0.0)      <br /><a href="http://peroxide20.files.wordpress.com/2010/06/image.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2010/06/image_thumb.png?w=400&#038;h=165" width="400" height="165" /></a>       <br />Das gilt für das Projekt “MptCodeLibrary” und “Test.UnitTest” </li>
<li>Ein Recompile des Codes liefert jetzt einige Warnungen von denen man einige sehr schnell abarbeiten kann. Folgende Änderung sollte man auf jeden Fall durchführen:
<div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;line-height:12pt;background-color:#f4f4f4;width:95.28%;font-family:&#039;direction:ltr;height:51px;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;margin:20px 0 10px;padding:4px;" id="codeSnippetWrapper">
<div style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;" id="codeSnippet">
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum1">   1:</span> TeamFoundationServer tfs </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum2">   2:</span>   = TeamFoundationServerFactory.GetServer(serverName)</pre>
<p><!--CRLF--></div>
</p></div>
<p>ersetzen durch: </p>
<p></p>
<div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;line-height:12pt;background-color:#f4f4f4;width:95.86%;font-family:&#039;direction:ltr;height:74px;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;margin:20px 0 10px;padding:4px;" id="codeSnippetWrapper">
<div style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;" id="codeSnippet">
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum1">   1:</span> TfsTeamProjectCollection tfs </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum2">   2:</span>   = TfsTeamProjectCollectionFactory.</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum3">   3:</span>     GetTeamProjectCollection(<span style="color:#0000ff;">new</span> Uri(serverName));</pre>
<p><!--CRLF--></div>
</p></div>
<p></li>
<li>In der App.config müssen die WCF Einstellungen an 2 Stellen angepasst werden, weitere Infos findet man auch <a href="http://mskold.blogspot.com/2010/02/upgrading-tfs-event-subscriptions-to.html" target="_blank">hier</a> und <a href="http://www.google.de/url?q=http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/thread/d6260ca0-ec1a-4fb3-af1e-b5efdf83975b&amp;sa=X&amp;ei=_bMITJ7hJcOXOObzhdsP&amp;ved=0CBkQrAIoADAA&amp;usg=AFQjCNGydjuLrF-kc_4qB5EKP1TWOTK11g" target="_blank">hier</a>:&#160;
<p><a href="http://peroxide20.files.wordpress.com/2010/06/image1.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2010/06/image_thumb1.png?w=400&#038;h=99" width="400" height="99" /></a> </p>
<p><strong>basicHttpBinding zu wsHttpBinding</strong>&#160; <br />und wsHttpBinding muss&#160; an der entsprechenden Stelle noch konfiguriert werden: </p>
<div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;line-height:12pt;background-color:#f4f4f4;width:98.7%;font-family:&#039;direction:ltr;height:189px;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;margin:20px 0 10px;padding:4px;" id="codeSnippetWrapper">
<div style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100.24%;font-family:&#039;direction:ltr;height:158px;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;" id="codeSnippet">
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum1">   1:</span> <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">bindings</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum2">   2:</span>     <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">webHttpBinding</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum3">   3:</span>     ...</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum4">   4:</span>     <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">webHttpBinding</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum5">   5:</span>   <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">wsHttpBinding</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum6">   6:</span>     <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">binding</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;noSecurity&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum7">   7:</span>       <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">security</span> <span style="color:#ff0000;">mode</span><span style="color:#0000ff;">=&quot;None&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum8">   8:</span>     <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">binding</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum9">   9:</span>   <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">wsHttpBinding</span> <span style="color:#0000ff;">&gt;</span>          </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum10">  10:</span> <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">bindings</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></div>
</p></div>
</li>
<li>Es muss jetzt die URL der Collection zu den Team Projekten in die App.config eingetragen werden.
<div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;line-height:12pt;background-color:#f4f4f4;width:98.58%;font-family:&#039;direction:ltr;height:99px;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;margin:20px 0 10px;padding:4px;" id="codeSnippetWrapper">
<div style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;" id="codeSnippet">
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum1">   1:</span> <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">teamServerSection</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum2">   2:</span>  <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">teamservers</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum3">   3:</span>   <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">teamserver</span> <span style="color:#ff0000;">servername</span><span style="color:#0000ff;">=&quot;http://tfs:8080/tfs/default&quot;</span> <span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum4">   4:</span>  <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">teamservers</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum5">   5:</span> <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">teamServerSection</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></div>
</p></div>
</li>
<li>In der TeamFoundationFacade muss in einer Methode die Sid ermittelt und mit übergeben werden (alter Code wurde auskommentiert):
<div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;line-height:12pt;background-color:#f4f4f4;width:98.63%;font-family:&#039;direction:ltr;height:273px;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;margin:20px 0 10px;padding:4px;" id="codeSnippetWrapper">
<div style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;" id="codeSnippet">
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum1">   1:</span> <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">void</span> SignupForReceivingEvent(<span style="color:#0000ff;">string</span> serverName, </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum2">   2:</span>     <span style="color:#0000ff;">string</span> receiverPath, <span style="color:#0000ff;">string</span> filterExpression)</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum3">   3:</span> {</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum4">   4:</span> ...</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum5">   5:</span>   <span style="color:#0000ff;">try</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum6">   6:</span>   {</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum7">   7:</span>     <span style="color:#008000;">//eventEndpoint.SubscribeEvent(&quot;Sid is ignored&quot;, </span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum8">   8:</span>     <span style="color:#008000;">//  &quot;WorkItemChangedEvent&quot;, filterExpression, delPreference);</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum9">   9:</span>     <span style="color:#008000;">// get sid from current user</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum10">  10:</span>     <span style="color:#0000ff;">string</span> sid </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum11">  11:</span>         = System.Security.Principal.WindowsIdentity</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum12">  12:</span>         .GetCurrent().User.Value;</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum13">  13:</span>     eventEndpoint.SubscribeEvent(sid, <span style="color:#006080;">&quot;WorkItemChangedEvent&quot;</span>, </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum14">  14:</span>         filterExpression, delPreference);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum15">  15:</span>   }</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum16">  16:</span> ...</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum17">  17:</span> }</pre>
<p><!--CRLF--></div>
</p></div>
</li>
<li>Jetzt sollte man den Stand erreicht haben, dass wieder Events am Service ankommen, doch leider werden sie noch nicht richtig bearbeitet. Dazu muss eine weitere kleine Anpassung in GlobalListBuilder erfolgen (in diesem Fall wurde nur für eine Collection eine Unterstützung eingebaut!!!):
<div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;line-height:12pt;background-color:#f4f4f4;width:96.79%;font-family:&#039;direction:ltr;height:270px;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;margin:20px 0 10px;padding:4px;" id="codeSnippetWrapper">
<div style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;" id="codeSnippet">
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum1">   1:</span> <span style="color:#0000ff;">private</span> <span style="color:#0000ff;">string</span> DeriveTfsServerName(</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum2">   2:</span>   XContainer workItemChangedEvent)</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum3">   3:</span> {</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum4">   4:</span>   ...</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum5">   5:</span>   Uri artifactMoniker = <span style="color:#0000ff;">new</span> Uri(displayUrlElement.First().Value);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum6">   6:</span>   <span style="color:#008000;">//IEnumerable&lt;TeamServerConfiguration&gt; teamServers </span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum7">   7:</span>   <span style="color:#008000;">//   = from teamServer in mptConfiguration.TeamServers where ...</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum8">   8:</span> ...</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum9">   9:</span>   <span style="color:#008000;">//if (teamServers.Count() &lt;= 0)</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum10">  10:</span>   <span style="color:#008000;">//    throw new MptException(&quot;Could not determine the TFS...</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum11">  11:</span>   <span style="color:#0000ff;">return</span> artifactMoniker.Scheme + <span style="color:#006080;">&quot;://&quot;</span> </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum12">  12:</span>          + artifactMoniker.Authority </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum13">  13:</span>          +<span style="color:#006080;">&quot;/tfs/defaultCollection&quot;</span>;</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum14">  14:</span> }</pre>
<p><!--CRLF--></div>
</p></div>
</li>
<li>Jetzt sollte sowohl der Dienst als auch das TFS Event empfangen und bearbeiten funktionieren. </li>
</ol>
<p>Ziel ist es nach der Migration des TFS 2008 auf TFS 2010 die Projekte mit dem <a href="http://mpt.codeplex.com/" target="_blank">MPT Template</a> weiter zu unterstützen, aber perspektivisch auf ein neues Template zu migrieren. Dazu wollen wir die Tools von der <a href="http://tfsintegration.codeplex.com/" target="_blank">TfsIntegration</a> Plattform verwenden. Vielleicht kann ich ja dazu in den kommenden Wochen auch noch Erfahrungsberichte veröffentlichen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=123&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2010/06/04/microsoft-process-template-mpt-mit-tfs2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2010/06/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2010/06/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>SmartCard Reader Cherry ST-2000 mit Windows 7 und StarMoney 7</title>
		<link>http://peroxide20.wordpress.com/2010/03/05/smartcard-reader-cherry-st-2000-mit-windows-7-und-starmoney-7/</link>
		<comments>http://peroxide20.wordpress.com/2010/03/05/smartcard-reader-cherry-st-2000-mit-windows-7-und-starmoney-7/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 14:58:27 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[cherry]]></category>
		<category><![CDATA[HBCI]]></category>
		<category><![CDATA[Off-Topic]]></category>
		<category><![CDATA[SmartCard]]></category>
		<category><![CDATA[Starmoney]]></category>
		<category><![CDATA[Treiber]]></category>
		<category><![CDATA[Windows7]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2010/03/05/smartcard-reader-cherry-st-2000-mit-windows-7-und-starmoney-7/</guid>
		<description><![CDATA[Da mein letzter Artikel zu einem Windows 7 Problem mit einem HP Scanner so großen Zuspruch genießt, dachte ich mir ich werde auch eine weitere Problemlösung die nicht zum sonstigen Inhalte meines Blogs passt hier veröffentlichen. Mir ging es darum meinen SmartCard Reader von Cherry (ST-2000U) unter Windows 7 zum Laufen zu bekommen und vor [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=116&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Da mein <a href="http://peroxide20.wordpress.com/2010/01/30/hp-scanjet-4100c-scanner-unter-windows-7-verwenden/" target="_blank">letzter Artikel zu einem Windows 7 Problem mit einem HP Scanner</a> so großen Zuspruch genießt, dachte ich mir ich werde auch eine weitere Problemlösung die nicht zum sonstigen Inhalte meines Blogs passt hier veröffentlichen.</p>
<p><a href="http://peroxide20.files.wordpress.com/2010/03/st2000_4681.jpg"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ST-2000_468[1]" border="0" alt="ST-2000_468[1]" src="http://peroxide20.files.wordpress.com/2010/03/st2000_4681_thumb.jpg?w=400&#038;h=228" width="400" height="228" /></a> </p>
<p>Mir ging es darum meinen <a href="http://www.cherry.de/deutsch/produkte/kartenlesegeraete_SmartTerminal_ST-2000U.htm" target="_blank">SmartCard Reader von Cherry</a> (ST-2000U) unter Windows 7 zum Laufen zu bekommen und vor allem den PIN-Modus 2 (PIN Eingabe am Card Reader und nicht auf der Computertastatur) im Zusammenhang mit <a href="https://www.starfinanz.de/" target="_blank">Starmoney</a> (HBCI) verwenden zu können. </p>
<p>Auf den <a href="http://www.cherry.de/deutsch/service/download.php" target="_blank">Seiten von Cherry</a> gibt es zwar einen <a href="http://www.cherry.de/files/software/Cherry-SmartDeviceSetup_20_DE.msi" target="_blank">aktuellen Treiber</a> auch für Windows 7, doch leider hat bei mir immer nur der PIN Modus 1 (PIN auf der Computer Tastatur eingeben) funktioniert.</p>
<p>Um den Kartenleser mit <a href="https://www.starfinanz.de/" target="_blank">Starmoney</a> zu verwenden öffnet man das Kartenleser Setup und findet dann unter Ct API leider keinen Kartenleser zur Auswahl. Auch das Manuelle einrichten (<a href="https://www.starfinanz.de/forum/viewtopic.php?f=85&amp;t=16569" target="_blank">wie hier beschrieben</a>) hat bei mir nicht funktioniert.</p>
<p><a href="http://peroxide20.files.wordpress.com/2010/03/image.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2010/03/image_thumb.png?w=277&#038;h=305" width="277" height="305" /></a>     <br /><strong><font size="1">Starmoney 7 Kartenleser Setup</font></strong></p>
<p>Nach ein bisschen Recherche bin irgendwie auf SCM Microsystems SPR 532 gekommen und habe mir das Packet “<a href="http://www.scmmicro.com/support_tmp/download.php?file=SPR532_setup_V1.86.zip" target="_blank">SCM Microsystems SPR 532 SmartCard Reader (SPR532 PC/SC CT-API installer)</a>” heruntergeladen und installiert.</p>
<p>Nach einem Neustart tauchte auch im Starmoney Kartenleser Setup unter Ct API der neue Eintrag auf.</p>
<p><a href="http://peroxide20.files.wordpress.com/2010/03/image1.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2010/03/image_thumb1.png?w=277&#038;h=305" width="277" height="305" /></a>     <br /><strong><font size="1">Starmoney 7 Kartenleser Setup – Neuer Eintrag unter Ct API</font></strong></p>
<p><a href="http://peroxide20.files.wordpress.com/2010/03/image2.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2010/03/image_thumb2.png?w=400&#038;h=278" width="400" height="278" /></a>     <br /><strong><font size="1">Starmoney 7 Kartenleser Setup – PIN-Modus 2 in den Eigenschaften</font></strong></p>
<p>In den Eigenschaften war der Test auch mit PIN Modus 2 erfolgreich. Im Starmoney kann mit diesem Standard-Reader wie gewohnt auch unter Windows 7 die HBCI Pin am PIN Pad eingegeben werden.</p>
<p><a href="http://peroxide20.files.wordpress.com/2010/03/image3.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2010/03/image_thumb3.png?w=325&#038;h=196" width="325" height="196" /></a>    <br /><strong><font size="1">PIN Abfrage mit Eingabe am PIN Pad</font></strong>&#160;</p>
<p>Vielleicht habe ich nur irgendetwas Falsch gemacht, aber da das gewünschte Ergebnis in dieser Variante erreicht ist bin ich vorerst zufrieden und vielleicht hilft der Post trotzdem dem ein oder anderen mit ähnlichen Problemen und Anforderungen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=116&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2010/03/05/smartcard-reader-cherry-st-2000-mit-windows-7-und-starmoney-7/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2010/03/st2000_4681_thumb.jpg" medium="image">
			<media:title type="html">ST-2000_468[1]</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2010/03/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2010/03/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2010/03/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2010/03/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>HP ScanJet 4100C Scanner unter Windows 7 verwenden</title>
		<link>http://peroxide20.wordpress.com/2010/01/30/hp-scanjet-4100c-scanner-unter-windows-7-verwenden/</link>
		<comments>http://peroxide20.wordpress.com/2010/01/30/hp-scanjet-4100c-scanner-unter-windows-7-verwenden/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 14:01:07 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[HP]]></category>
		<category><![CDATA[Off-Topic]]></category>
		<category><![CDATA[Treiber]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows7]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2010/01/30/hp-scanjet-4100c-scanner-unter-windows-7-verwenden/</guid>
		<description><![CDATA[Weil ich daran eine Weile gebastelt habe und mich dann so gefreut habe, dass es doch funktioniert einen 11 Jahre alten Flachbettscanner von HP unter Windows 7 zum laufen zu bringen möchte ich die Lösung hier mal teilen, auch wenn es sonst eher nicht zu den Inhalten auf meinem Blog passt.&#160; Wer will schon einen [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=105&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Weil ich daran eine Weile gebastelt habe und mich dann so gefreut habe, dass es doch funktioniert einen 11 Jahre alten Flachbettscanner von HP unter Windows 7 zum laufen zu bringen möchte ich die Lösung hier mal teilen, auch wenn es sonst eher nicht zu den Inhalten auf meinem Blog passt.&#160; Wer will schon einen eigentlich funktionierenden Scanner den man nur 1 mal im Monat benötigt durch einen neuen ersetzen?</p>
<p>Ich bin folgend vorgegangen:</p>
<ol>
<li><a href="http://download.cnet.com/HP-TWAIN-DS-zip/3000-2110_4-113567.html" target="_blank">Hier</a> habe ich ein <a href="http://download.cnet.com/HP-TWAIN-DS-zip/3000-2110_4-113567.html" target="_blank">HP-TWAIN-DS</a> Paket heruntergeladen.      <br />Das ist für folgende Scanner unter Windows 95/98/2000/XP/2003/NT:</li>
</ol>
<ol>
<ul>
<li>Hewlett-Packard ScanJet 7400C </li>
<li>Hewlett-Packard ScanJet 5p </li>
<li>Hewlett-Packard ScanJet 6100C </li>
<li>Hewlett-Packard ScanJet 4p </li>
<li>Hewlett-Packard ScanJet 3p </li>
<li>Hewlett-Packard ScanJet IIcx </li>
<li>Hewlett-Packard ScanJet IIp </li>
<li>Hewlett-Packard ScanJet IIc </li>
<li>Hewlett-Packard ScanJet 5100C </li>
<li>Hewlett-Packard ScanJet 6200C </li>
<li>Hewlett-Packard ScanJet 5200C </li>
<li>Hewlett-Packard ScanJet 6300C </li>
<li>Hewlett-Packard ScanJet 4100C </li>
</ul>
</ol>
<li>Das habe ich entpackt und anschließend im Gerätemanager für den Scanner nach einem Treiber auf dem Rechner im entpackten Ordner gesucht.     <br /><a href="http://peroxide20.files.wordpress.com/2010/01/image.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://peroxide20.files.wordpress.com/2010/01/image_thumb.png?w=260&#038;h=195" width="260" height="195" /></a>       <br />Wichtig ist dabei, dass man manuell “Auf dem Computer nach einem Treiber” sucht und dort “Aus einer Liste von Gerätetreibern auf dem Computer” wählt und im Anschluss auf “Datenträger” klickt um den Ordner auszuwählen.</li>
<li>Der Treiber für den HP ScanJet 4100C steht zur Auswahl und wurde erfolgreich installiert.</li>
<li>Leider konnte man nun trotz erfolgreich installierten Treiber mit keiner Software einen Scan starten also versuchte ich HP Software zu finden.</li>
<li>Danach benötigt man die HP Scansoftware die man <a href="http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?softwareitem=sj398en&amp;lc=en&amp;dlc=en&amp;cc=us&amp;lang=en&amp;os=181&amp;product=58394" target="_blank">hier</a> findet heruntergeladen, entpackt und installiert. (Ggf. Windows XP kompatibilitätsmodus einschalten, bei mir ging es auch ohne)</li>
<li>Rechner neu starten.</li>
<li>Sowohl mit den Tasten am Scanner als auch direkt über die Programme (Scannen bzw. kopieren) konnte ich den Scanner nutzen. Die Programme habe ich auf “Windows XP SP3” Kompatibilitätsmodus konfiguriert.</li>
<li>Windows Fax und Scan erkennt den Scanner leider trotzdem nicht, stört mich aber nicht solange die anderen HP Tools den Scanner ansprechen können.</li>
<p><a href="http://www.motherboardpoint.com/scanjet-4100-c-under-windows-xp-fix-t51607.html" target="_blank">Dieser Eintrag</a> hat mich auf diese Idee gebracht. Das ganze sollte auch unter Windows Vista funktionieren denke ich. Auch da hatte ich eine Weile geforscht, den Scanner aber nie richtig zum laufen bekommen (außer mit <a href="http://www.hamrick.com/" target="_blank">VueScan</a>). Viel Spaß, vielleicht hilft der Tipp ja noch dem einen oder anderen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=105&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2010/01/30/hp-scanjet-4100c-scanner-unter-windows-7-verwenden/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2010/01/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Visual Studio 2010, TFS 2010 Linksammlung</title>
		<link>http://peroxide20.wordpress.com/2010/01/27/visual-studio-2010-tfs-2010-linksammlung/</link>
		<comments>http://peroxide20.wordpress.com/2010/01/27/visual-studio-2010-tfs-2010-linksammlung/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 09:12:26 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[alm]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[patterns&practices]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[TFS2010]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[VSTS2010]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2010/01/27/visual-studio-2010-tfs-2010-linksammlung/</guid>
		<description><![CDATA[Hier ein paar gesammelte und kategorisierte Links zum Thema TFS 2010, Visual Studio 2010. Links &#124; Guidance, best practices Visual Studio TFS Branching Guide 2010 Team Development with Visual Studio Team Foundation Server Visual Studio 2010 Quick Reference Guidance Visual Studio 2010 Team Foundation Server Requirements Management Guidance Microsoft Visual Studio 2010 Test Case Import [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=101&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hier ein paar gesammelte und kategorisierte Links zum Thema TFS 2010, Visual Studio 2010.</p>
<p><strong>Links | Guidance, best practices<br />
</strong></p>
<ul>
<li><a href="http://tfsbranchingguideiii.codeplex.com/">Visual Studio TFS </a><a href="http://tfsbranchingguideiii.codeplex.com/">Branching</a><a href="http://tfsbranchingguideiii.codeplex.com/"> Guide 2010</a></li>
<li><a href="http://tfsguide.codeplex.com/">Team Development with Visual Studio Team Foundation Server</a></li>
<li><a href="http://vs2010quickref.codeplex.com/">Visual Studio 2010 Quick Reference Guidance</a><a href="http://vstfs2010rm.codeplex.com/"> </a></li>
<li><a href="http://vstfs2010rm.codeplex.com/">Visual Studio 2010 Team Foundation Server Requirements Management Guidance </a></li>
<li><a href="http://tcmimport.codeplex.com/">Microsoft Visual Studio 2010 Test Case Import Utilities</a></li>
<li><a href="http://msbuildextensionpack.codeplex.com/">MSBuild Extension Pack</a></li>
</ul>
<p><strong>Links | Entwicklung</strong></p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx">Visual Studio 2010 and .NET Framework 4</a><a href="http://spvsx.codeplex.com/"> </a></li>
<li><a href="http://spvsx.codeplex.com/">SharePoint 2010 Visual Studio 2010 Extensions project</a></li>
<li><a href="http://cksdev.codeplex.com/">Community Kit for SharePoint: Development Tools Edition</a></li>
<li><a href="http://sptoolbasket2010.codeplex.com/">SharePoint Tool Basket 2010</a></li>
</ul>
<p><strong>Links | Infrastruktur</strong></p>
<ul>
<li><a href="http://ranversvsvmfactory.codeplex.com/">Visual Studio 2010 and Team Foundation Server 2010 VM Factory</a></li>
<li><a href="http://vs2010upgradeguide.codeplex.com/">Visual Studio 2010 TFS Upgrade Guide</a></li>
<li><a href="http://tfsintegration.codeplex.com/">TFS Integration </a><a href="http://tfsintegration.codeplex.com/">Platform</a></li>
<li><a href="http://witsynchronizer.codeplex.com/">WIT </a><a href="http://witsynchronizer.codeplex.com/">Synchronizer</a></li>
</ul>
<p><strong>Links | Installation</strong></p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ca86215b-a824-44e7-b4c3-982c7ecea46d&amp;displaylang=en">Visual Studio Team Explorer 2010</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=CF13EA45-D17B-4EDC-8E6C-6C5B208EC54D&amp;displaylang=en">Visual Studio Team System 2008 Service Pack 1 Forward Compatibility Update for Team Foundation Server 2010</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=60A539EA-A345-446A-9DA0-EF86E4A4798F&amp;displaylang=en">Microsoft Visual Studio Test Elements 2010</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=DC333AC8-596D-41E3-BA6C-84264E761B81&amp;displaylang=en">Microsoft Visual Studio 2010 Ultimate</a></li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/en-us/e5f41ad9-4edc-4912-bca3-91147db95b99">Visual Studio Power Commands</a></li>
<li><a href="http://visualstudiogallery.msdn.microsoft.com/en-us/0e69a28f-020c-488b-80b3-f4c89a20621d">Team Foundation Server Power Tools 2010</a></li>
</ul>
<p><strong>Links | Blogs</strong></p>
<ul>
<li><a href="http://blogs.msdn.com/bharry/default.aspx">Brian Harry</a></li>
<li><a href="http://blogs.msdn.com/granth/default.aspx">Granth‘s </a><a href="http://blogs.msdn.com/granth/default.aspx">blog</a></li>
<li><a href="http://blogs.msdn.com/willy-peter_schaub/default.aspx">VSTS </a><a href="http://blogs.msdn.com/willy-peter_schaub/default.aspx">Rangers</a></li>
<li><a href="http://blogs.msdn.com/vstsqualitytools/default.aspx">Visual Studio Team Test</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=101&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2010/01/27/visual-studio-2010-tfs-2010-linksammlung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>
	</item>
		<item>
		<title>TFS 2010 Beta 2 Installation &#8211; Advanced Scenario</title>
		<link>http://peroxide20.wordpress.com/2009/12/02/tfs-2010-beta-2-installation-advanced-scenario/</link>
		<comments>http://peroxide20.wordpress.com/2009/12/02/tfs-2010-beta-2-installation-advanced-scenario/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 09:07:42 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[alm]]></category>
		<category><![CDATA[Process-Template]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[TFS2010]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[VSTS2010]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Powertools]]></category>
		<category><![CDATA[TFS 2010 Beta2]]></category>
		<category><![CDATA[Topologie]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2009/12/02/tfs-2010-beta-2-installation-advanced-scenario/</guid>
		<description><![CDATA[Vor ein paar Tagen hatte ich ja schon kurz vom TFS 2010 Beta 2 berichtet. Jetzt kann ich auch ein paar Details berichten. Ziel war es Application Tier (AT), Data Tier (DT) und Sharepoint voneinander zu trennen. Die Installation erfolgt also auf 3 Maschinen. Alle 3 wurden mit Windows 2008 R2 Enterprise Server ausgestattet. Auf [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=100&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vor ein paar Tagen hatte ich ja schon kurz vom TFS 2010 Beta 2 berichtet. Jetzt kann ich auch ein paar Details berichten.</p>
<p>Ziel war es Application Tier (AT), Data Tier (DT) und Sharepoint voneinander zu trennen. Die Installation erfolgt also auf 3 Maschinen. Alle 3 wurden mit Windows 2008 R2 Enterprise Server ausgestattet. Auf dem DT wurde dann SQL Server 2008 Standard Edition SP1 mit Reporting- und Analysis Services installiert. Das ganze ging relativ schnell und ohne weitere Komplikationen. Jetzt wollte ich den AT installieren, da die SharePoint-Komponente für den TFS 2010 optional ist und somit auch im Nachgang installiert und konfiguriert werden kann.</p>
<p>Der AT ist eigentlich auch ziemlich übersichtlich zu installieren, nur an einer Stelle kann es passieren, dass man ins stocken gerät. Bei den Analysis Services erscheint wahrscheinlich bei den meisten erst mal der Fehler “<strong>TF255040: Install SQL Reporting Services or at a minimum SQL Client Connectivity Tools on the application tier to ensure Analysis Services object model is present for warehouse processing.</strong>” Meine Lösung zu dem Thema sieht wie folgt aus. Ich habe auf dem AT das <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b" target="_blank">SQL Management Studio 2008 installiert</a> und den Installation-Wizard + TFS Admin-Console komplett geschlossen (das ist wichtig!!!). Nach dem neu Öffnen der TFS Admin Console und des Installation-Wizard hat der Test im Analysis Service Bereich nach Eingabe des SQL Servers geklappt und der Installation stand nix mehr im wege.</p>
<p>Beim Sharepoint 2007 (MOSS) auf dem W2k8 R2 Server gab es das nächste Problem (KB article 962935, der aber leider noch nicht live zu sein scheint…). Hier hilft ein <a href="http://blogs.msdn.com/sharepoint/archive/2009/10/02/install-sharepoint-server-2007-on-windows-server-2008-r2.aspx" target="_blank">Eintrag vom SharePoint Blog</a>. Folgt man der Anleitung für SharePoint 2007 SP2 Slipsteam, dann klappt es mit der Installation auch ohne Fehlermeldung.</p>
<p>Jetzt, da endlich die <a href="http://blogs.msdn.com/bharry/archive/2009/12/01/tfs-2010-power-tools-are-available.aspx" target="_blank">TFS 2010 Beta 2 PowerTools verfügbar</a> sind kann es auch mit dem Customizing des ProzessTemplates los gehen. Infos dazu kommen sicher bald.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=100&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2009/12/02/tfs-2010-beta-2-installation-advanced-scenario/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>
	</item>
		<item>
		<title>Neues von der 2010er Welle &#8211; TFS2010, SharePoint 2010</title>
		<link>http://peroxide20.wordpress.com/2009/10/19/neues-von-der-2010er-welle-tfs2010-sharepoint-2010/</link>
		<comments>http://peroxide20.wordpress.com/2009/10/19/neues-von-der-2010er-welle-tfs2010-sharepoint-2010/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 19:49:45 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C#4.0]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Sharepoint2010]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[TFS2010]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[VSTS2010]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2009/10/19/neues-von-der-2010er-welle-tfs2010-sharepoint-2010/</guid>
		<description><![CDATA[Heute ist nun nach langem Warten endlich die Beta 2 (mit “Go live” Lizenz) des Microsoft Team Foundation Servers 2010 veröffentlicht worden. Auch das Lizenzmodell und die Bezeichnungen der Visual Studio 2010 Versionen haben sich geändert. Sie heißen jetzt: Express Professional Premium Ultimate Wir haben uns den Team Foundation Server 2010 Beta 2 und die [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=99&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Heute ist nun nach langem Warten endlich die <a href="http://msdn.microsoft.com/de-de/vstudio/dd582936.aspx" target="_blank">Beta 2</a> (mit “<a href="http://blogs.msdn.com/bharry/archive/2009/10/03/going-live-with-tfs-beta-2.aspx" target="_blank">Go live” Lizenz</a>) des <a href="http://blogs.msdn.com/bharry/archive/2009/10/19/vs-2010-beta-2-is-now-available-for-msdn-subscriber-download.aspx" target="_blank">Microsoft Team Foundation Servers 2010 veröffentlicht worden</a>. Auch das Lizenzmodell und die <a href="http://blogs.msdn.com/bharry/archive/2009/10/19/vs-2010-licensing-changes.aspx" target="_blank">Bezeichnungen der Visual Studio 2010 Versionen</a> haben sich geändert. Sie heißen jetzt:</p>
<ul>
<li>Express </li>
<li>Professional </li>
<li>Premium </li>
<li>Ultimate</li>
</ul>
<p>Wir haben uns den Team Foundation Server 2010 Beta 2 und die Visual Studio 2010 Ultimate Beta 2 Edition schon runtergeladen und morgen geht die Evaluation los. Sowohl intern als auch für ein Kundenprojekt haben wir schon auf die Beta 2 gewartet. Da ist in den nächsten Wochen und Monaten sicher noch die ein oder andere News hier zu erwarten.</p>
<p>Bezüglich Sharepoint 2010 gab es heute mit dem Start der <a href="http://www.mssharepointconference.com/Pages/default.aspx" target="_blank">Sharepoint-Konferenz 2009 in Las Vegas</a> auch die dazu passenden Neuigkeiten. So ist vor allem auch für die <a href="http://msdn.microsoft.com/en-us/library/ee330921%28VS.100%29.aspx" target="_blank">Entwickler mit Visual Studio 2010 + Sharepoint 2010</a> ein erheblicher Schritt nach vorn unternommen worden. </p>
<p>Weitere englischsprachige Anleitungen zu Visual Studio 2010 (mit Sharepoint 2010, Silverlight, WPF, Parallel Computing, Office Development, Workflow Foundation und vielen mehr) findet ihr <a href="http://msdn.microsoft.com/de-de/vstudio/dd441784%28en-us%29.aspx" target="_blank">hier</a>.</p>
<p>Viel Spaß, ich hoffe und denke den werde ich auch haben;)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=99&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2009/10/19/neues-von-der-2010er-welle-tfs2010-sharepoint-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>
	</item>
		<item>
		<title>Team Foundation Server &#8211; Prozess Template anpassen</title>
		<link>http://peroxide20.wordpress.com/2009/07/27/team-foundation-server-prozess-template-anpassen/</link>
		<comments>http://peroxide20.wordpress.com/2009/07/27/team-foundation-server-prozess-template-anpassen/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 11:05:51 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[alm]]></category>
		<category><![CDATA[Process-Template]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[VS2005]]></category>
		<category><![CDATA[VS2008]]></category>
		<category><![CDATA[VSTS]]></category>
		<category><![CDATA[Process Template Manager]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2009/07/27/team-foundation-server-prozess-template-anpassen/</guid>
		<description><![CDATA[Wer sich schon immer gefragt hat wie man das Prozess Template anpassen kann kommt auf keinen Fall am “Process Template Manager” des TFS vorbei. Zu finden ist dieser im “Team Explorer” (z.B. Visual Studio 2005/2008 öffnen) und das Team Explorer Fenster anzeigen (View &#62; Team Explorer). Wenn man dort den TFS Server eingetragen hat, kann [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=98&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Wer sich schon immer gefragt hat wie man das Prozess Template anpassen kann kommt auf keinen Fall am “Process Template Manager” des TFS vorbei.</p>
<p>Zu finden ist dieser im “Team Explorer” (z.B. Visual Studio 2005/2008 öffnen) und das Team Explorer Fenster anzeigen (View &gt; Team Explorer). Wenn man dort den TFS Server eingetragen hat, kann man den “Process Template Manager” unter “Team Foundation Server Settings” finden.</p>
<p><a href="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager.jpg" target="_blank"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="processtemplatemanager" border="0" alt="processtemplatemanager" src="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager_thumb.jpg?w=260&#038;h=187" width="260" height="187" /></a>&#160; <br /><strong>Process Template Manager starten</strong></p>
<p>Im Manager kann man dann komplette Templates Hoch- und Runterladen sowie löschen. </p>
<p><a href="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager1.jpg" target="_blank"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="processtemplatemanager1" border="0" alt="processtemplatemanager1" src="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager1_thumb.jpg?w=260&#038;h=192" width="260" height="192" /></a>    <br /><strong>Process Template Manager</strong> </p>
<p>Ein Prozess-Template besteht aus einer Reihe Ordner und Dateien (viel XML). Zum Anpassen eines Templates kann man z.B. ein vorhandenes (Standard-Template bei TFS Installation oder z.B. von <a href="http://mpt.codeplex.com/" target="_blank">Codeplex</a>) in einen lokalen Ordner herunterladen und an der gewünschten Stelle mit Visual Studio bearbeiten.</p>
<p><a href="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager2.jpg" target="_blank"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="processtemplatemanager2" border="0" alt="processtemplatemanager2" src="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager2_thumb.jpg?w=260&#038;h=194" width="260" height="194" /></a>     <br /><strong>Ordnerstruktur eines TFS Process Templates</strong></p>
<p>Visual Studio unterstützt sowohl bei der Bearbeitung von Feldern, Layouts, Workflows und Workitem Typen. Das ganze kann man beliebig Komplex betreiben und ist sicher Inhalt vieler weiterer Blogeinträge, Artikel, …</p>
<p><a href="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager3.jpg" target="_blank"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="processtemplatemanager3" border="0" alt="processtemplatemanager3" src="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager3_thumb.jpg?w=260&#038;h=187" width="260" height="187" /></a>&#160; <br /><strong> TFS Process Template im Visaul Studio bearbeiten</strong></p>
<p><strong></strong>    <br />Hat man nun seine gewünschten Änderungen vorgenommen lädt man das angepasste Template über den Process Template Manager wieder hoch (Auswahl des Ordners wo die “ProcessTemplate.xml” liegt). Zuvor sollte man die Bezeichnung des Templates anpassen. War der Upload erfolgreich kann man nun ein neues Projekt mit dem gewünschten Template anlegen.</p>
<p>Viel Spaß beim ersten anpassen eines Templates.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=98&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2009/07/27/team-foundation-server-prozess-template-anpassen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager_thumb.jpg" medium="image">
			<media:title type="html">processtemplatemanager</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager1_thumb.jpg" medium="image">
			<media:title type="html">processtemplatemanager1</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager2_thumb.jpg" medium="image">
			<media:title type="html">processtemplatemanager2</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/07/processtemplatemanager3_thumb.jpg" medium="image">
			<media:title type="html">processtemplatemanager3</media:title>
		</media:content>
	</item>
		<item>
		<title>TFS Team Build: Testen von Webservices mit UnitTests auf dem Client und Team Build Server</title>
		<link>http://peroxide20.wordpress.com/2009/02/26/tfs-team-build-testen-von-webservices-mit-unittests-auf-dem-client-und-team-build-server/</link>
		<comments>http://peroxide20.wordpress.com/2009/02/26/tfs-team-build-testen-von-webservices-mit-unittests-auf-dem-client-und-team-build-server/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 09:04:20 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[TFS]]></category>
		<category><![CDATA[UnitTests]]></category>
		<category><![CDATA[VS2005]]></category>
		<category><![CDATA[VS2008]]></category>
		<category><![CDATA[VSTS]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2009/02/26/tfs-team-build-testen-von-webservices-mit-unittests-auf-dem-client-und-team-build-server/</guid>
		<description><![CDATA[Damit ein UnitTest, den wir gegen einen WebService (z.B. TOService) ausführen auch auf dem Team-Build Server läuft sind folgende Schritte notwendig: 1. Im UnitTest eine WebReference zum Webservice einfügen: 2. Im UnitTest folgendes Attribut über der UnitTest-Methode einfügen: [AspNetDevelopmentServer("TOServiceHost", "%PathToWebRoot%\\Test.TOServiceHost")] 3. In der UnitTest-Methode den WebServiceHelper verwenden: var sc = new TOService(); WebServiceHelper.TryUrlRedirection(sc, TestContext,"TOServiceHost"); Assert.NotNull(sc.MyMethodForTest()); [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=82&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Damit ein UnitTest, den wir gegen einen WebService (z.B. TOService) ausführen auch auf dem Team-Build Server läuft sind folgende Schritte notwendig:</p>
<p><strong>1. Im UnitTest eine WebReference zum Webservice einfügen: </p>
<p><a href="http://peroxide20.files.wordpress.com/2009/02/image.png" target="_blank"><img title="image" style="display:inline;border-width:0;" height="160" alt="image" src="http://peroxide20.files.wordpress.com/2009/02/image-thumb.png?w=255&#038;h=160" width="255"/></a> </strong></p>
<p><strong>2. Im UnitTest folgendes Attribut über der UnitTest-Methode einfügen:</strong></p>
<div class="CodeFormatContainer">
<pre class="csharpcode">[AspNetDevelopmentServer("<span style="color:#8b0000;">TOServiceHost</span>",
		"<span style="color:#8b0000;">%PathToWebRoot%\\Test.TOServiceHost</span>")]
</pre>
</div>
<p><strong>3. In der UnitTest-Methode den WebServiceHelper verwenden:</strong></p>
<pre>var sc = <span style="color:#0000ff;">new</span> TOService();
WebServiceHelper.TryUrlRedirection(sc,
			TestContext,"<span style="color:#8b0000;">TOServiceHost</span>");
Assert.NotNull(sc.MyMethodForTest());
</pre>
<p><strong>4. Im Visual Studio unter “Tools” &gt; “Options” &gt; “Test Tools” &gt; “Test Execution” den Pfad eintragen:</strong></p>
<p>Es kann passieren, das auf dem Client der Ordner zum Webservice nicht richtig aufgelöst wird. Dann kann man im VS einstellen, wo der Basisordner (%PathToWebRoot%) liegen soll. Den Ordner, wo der Webservice “Test.TOServiceHost” drin liegt den ihr testen wollt entsprechend einstellen.</p>
<p><a href="http://peroxide20.files.wordpress.com/2009/02/image1.png" target="_blank"><img title="image" style="display:inline;border-width:0;" height="160" alt="image" src="http://peroxide20.files.wordpress.com/2009/02/image-thumb1.png?w=260&#038;h=160" width="260"/></a>&nbsp;</p>
<p><strong>5. In der .vsmdi Datei den Test in die Liste eintragen, die im Teambuild ausgeführt wird:</strong></p>
<p>In der VSMDI Datei können dann alle UnitTests der Solution in eine Liste eingefügt werden: </p>
<p><a href="http://peroxide20.files.wordpress.com/2009/02/image2.png" target="_blank"><img title="image" style="display:inline;border-width:0;" height="84" alt="image" src="http://peroxide20.files.wordpress.com/2009/02/image-thumb2.png?w=260&#038;h=84" width="260"/></a></p>
<p>Im Teambuild File wird die Liste aus dem VSMDI File angegeben, womit alle UnitTests dieser Liste auf dem Teambuild Server ausgeführt werden:</p>
<pre><span style="color:#0000ff;">&lt;</span><span style="color:#800000;">MetaDataFile</span> <span style="color:#ff0000;">Include</span>=
   <span style="color:#0000ff;">"$(BuildProjectFolderPath)/../../Main/Source/Test/test.vsmdi"</span><span style="color:#0000ff;">&gt;</span>
   <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">TestList</span><span style="color:#0000ff;">&gt;</span>AllTests<span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">TestList</span><span style="color:#0000ff;">&gt;</span>
<span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">MetaDataFile</span><span style="color:#0000ff;">&gt;</span>
</pre>
<pre></pre>
</p>
<p>In der Liste können jetzt auch Tests aufgeführt werden, die einen WebService aus der Solution aufrufen.</p>
<p><strong>6. SolutionFile ggf. bearbeiten:</strong></p>
<p>Wichtig ist, dass der Webservice bzw. die Webapplikation mit auf dem Server compiliert wird. Das kann z.B. über die Solution Configuration “Debug” sichergestellt werden. Wenn hier ein anderer Typ eingeführt wurde (z.B. “Debug_CodeAnalysis”) kann es passieren, dass die Website auf dem Server nicht unter “_PublishedWebsites” kompiliert/abgelegt wird. Dann funktionieren die UnitTests auf dem Server wieder nicht. Es bietet sich an den Solution-Typ “Debug” und für alle gewünschten Projekte (außer Webprojekte) einen anderen Typ z.B. “Debug_CodeAnalysis” zu verwenden:</p>
<p>&nbsp;<a href="http://peroxide20.files.wordpress.com/2009/02/image3.png" target="_blank"><img title="image" style="display:inline;border-width:0;" height="171" alt="image" src="http://peroxide20.files.wordpress.com/2009/02/image-thumb3.png?w=260&#038;h=171" width="260"/></a></p>
<p><strong>7. Teambuild mit Codeanalysis, CodeCoverage und UnitTests:</strong></p>
<p>Jetzt sind wir schon ziemlich weit gekommen und freuen uns das endlich unser Webservice um den es im Projekt zentral geht auch über UnitTests auf dem Team Build Server jeder Zeit (z.B. jede Nacht – Continuous Integration) getestet werden kann. Verwendet man nun alle Features die zum Team Build dazu gehören, wie Code Analysis und Code Coverage, wundert man sich doch recht schnell warum die Coverage Werte sehr niedrig sind. Ein kleine Recherche in den erzeugten Dateien und Reports ergibt, dass alle UnitTests die über den WebService gelaufen sind nicht im CodeCoverage auftauchen ;(… Das ist natürlich schlecht!!! Wenn ich aber die WebService-Methoden nicht über die WebReference sondern direkt teste fehlt mir wieder der HTTP-Context in den Tests.) Was ist hier nun die beste Lösung? Mocking vom HTTPContext und wieder ohne WebReference testen?</p>
<p><a href="http://peroxide20.files.wordpress.com/2009/02/image4.png" target="_blank"><img title="image" style="display:inline;border-width:0;" height="103" alt="image" src="http://peroxide20.files.wordpress.com/2009/02/image-thumb4.png?w=260&#038;h=103" width="260"/></a></p>
<p>WordPress Tags: <a href="http://wordpress.com/tag/Team" rel="Tag">Team</a>,<a href="http://wordpress.com/tag/Build" rel="Tag">Build</a>,<a href="http://wordpress.com/tag/Webservice" rel="Tag">Webservice</a>,<a href="http://wordpress.com/tag/UnitTests" rel="Tag">UnitTests</a>,<a href="http://wordpress.com/tag/PathToWebRoot" rel="Tag">PathToWebRoot</a>,<a href="http://wordpress.com/tag/Test" rel="Tag">Test</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=82&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2009/02/26/tfs-team-build-testen-von-webservices-mit-unittests-auf-dem-client-und-team-build-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/02/image-thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/02/image-thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/02/image-thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/02/image-thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/02/image-thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>UnitTests, automatische Tests mit TFS 2008</title>
		<link>http://peroxide20.wordpress.com/2009/01/23/unittests-automatische-tests-mit-tfs-2008/</link>
		<comments>http://peroxide20.wordpress.com/2009/01/23/unittests-automatische-tests-mit-tfs-2008/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 07:55:57 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[UnitTests]]></category>
		<category><![CDATA[VS2005]]></category>
		<category><![CDATA[VS2008]]></category>
		<category><![CDATA[VSTS]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2009/01/23/unittests-automatische-tests-mit-tfs-2008/</guid>
		<description><![CDATA[Fast immer benötigt man für das Ausführen von UnitTests eine Umgebung wie im wirklichen Leben. Es sind also auch z.B. Konfigurationsfiles an einem bestimmten Ort (wie z.B. in einem Unterordner “config”) notwendig. Die Visual Studio UnitTests werden aber in einem eigenen Ordner ausgeführt und genau dort braucht man nun auch diesen Unterordner mit seinen Dateien. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=71&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Fast immer benötigt man für das Ausführen von UnitTests eine Umgebung wie im wirklichen Leben. Es sind also auch z.B. Konfigurationsfiles an einem bestimmten Ort (wie z.B. in einem Unterordner “config”) notwendig. Die Visual Studio UnitTests werden aber in einem eigenen Ordner ausgeführt und genau dort braucht man nun auch diesen Unterordner mit seinen Dateien. Hier gibt es im großen und ganzen zwei Ansätze. Entweder man konfiguriert die Testkonfiguration (siehe 2 Abbildungen):</p>
<p><a href="http://peroxide20.files.wordpress.com/2009/01/image.png" target="_blank"><img title="image" style="display:inline;border-width:0;" height="185" alt="image" src="http://peroxide20.files.wordpress.com/2009/01/image-thumb.png?w=416&#038;h=185" width="416"/></a> <br />&#8211;&gt; öffnen der Testkonfiguration mit Wizard </p>
<p><a href="http://peroxide20.files.wordpress.com/2009/01/image1.png" target="_blank"><img title="image" style="display:inline;border-width:0;" height="146" alt="image" src="http://peroxide20.files.wordpress.com/2009/01/image-thumb1.png?w=417&#038;h=146" width="417"/></a> <br />&#8211;&gt; Definieren von Dateien die für die UnitTests notwendig sind unter “Deployment” </p>
<p>Leider bietet der Wizard keine Möglichkeit einen Unterordner/Zielordner mit anzugeben. Dazu muss man das “.testconfig” File im XML-Editor öffnen und selbst am DeploymentItem-Tag herumeditieren. Dort steht einem nun das Attribut “outputDirectory” zur Verfügung.</p>
<table cellspacing="0" cellpadding="2" width="441" border="1">
<tbody>
<tr>
<td valign="top" width="439">
<pre><span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Deployment</span><span style="color:#0000ff;">&gt;</span>
  <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">DeploymentItem</span> <span style="color:#ff0000;">filename</span>=<span style="color:#0000ff;">"log4net.conf.xml"</span>
    <span style="color:#ff0000;">outputDirectory</span>=<span style="color:#0000ff;">"config"</span> <span style="color:#0000ff;">/&gt;</span>
  <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">DeploymentItem</span> <span style="color:#ff0000;">filename</span>=<span style="color:#0000ff;">"myentlib.config"</span> <span style="color:#0000ff;">/&gt;</span>
<span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Deployment&gt;</span></pre>
</td>
</tr>
</tbody>
</table>
<p>&#8211;&gt; .testconfig File im XML-Editor</p>
<p>Der zweite Ansatz ist über ein Attribut im Testcode selbst zu definieren welche Dateien für den Test notwendig sind:</p>
<p>DeploymentItems (<a href="http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.deploymentitemattribute(VS.80).aspx" target="_blank">DeploymentItemsAttribute bei MSDN</a>)</p>
<table cellspacing="0" cellpadding="2" width="400" border="1">
<tbody>
<tr>
<td valign="top" width="400">
<div style="font-size:10pt;background:white;color:black;font-family:courier new;">
<pre>[TestMethod()]
[DeploymentItem("<span style="color:#8b0000;">config\\log4net.conf.xml</span>", "<span style="color:#8b0000;">config</span>")]
<span style="color:#0000ff;">public</span> <span style="color:#0000ff;">void</span> MyTest()
{
    ...
}</pre>
</div>
</td>
</tr>
</tbody>
</table>
<p>&#8211;&gt; DeploymentItemAttribut im Code</p>
<h5>DeploymentItems und TFS Team Build:</h5>
<p>Leider hat man nun das nächste Problem mit den DeploymentItems und UnitTests im Zusammenhang mit Teambuild. Auf dem Teambuild Server können die UnitTests nur ausgeführt werden, wenn Visual Studio installiert ist. Das VS2008 hat hier wohl einen Bug, denn er sucht die für den UnitTest definierten DeploymentItems nicht im Ordner wo die Tests ausgeführt werden, sondern im Ordner wo Visual Studio auf dem Teambuild Server installiert ist (<em>System.Configuration.ConfigurationErrorsException: The configuration folder &#8216;D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\config\log4net.conf.xml&#8217; doesn&#8217;t exist</em>).</p>
<p>Geholfen hat jetzt nur ein Workaround im Testcode:</p>
<table cellspacing="0" cellpadding="2" width="439" border="1">
<tbody>
<tr>
<td valign="top" width="437">
<div style="font-size:10pt;background:white;color:black;font-family:courier new;">
<pre>[ClassInitialize()]
<span style="color:#0000ff;">public</span> <span style="color:#0000ff;">static</span> <span style="color:#0000ff;">void</span> MyClassInitialize(
  TestContext testContext)
{
    AppDomain.CurrentDomain.SetData("<span style="color:#8b0000;">APPBASE</span>",
     Environment.CurrentDirectory);
}</pre>
</div>
</td>
</tr>
</tbody>
</table>
<p>&#8211;&gt; Bei jedem UnitTest in der Initialisierung einzufügen (<a href="http://social.msdn.microsoft.com/forums/en-US/vststest/thread/f5cb58f4-a35d-41f8-900a-3bc69637afc9/" target="_blank">Forum post hier</a>)</p>
<h5>Team Build – Code Coverage – Partially Succeeded</h5>
<p>Manchmal kommt es trotz erfolgreichen Build und auch erfolgreichen durchführen aller UnitTests zu dem Status “Partially Succeeded”.</p>
<p><a href="http://peroxide20.files.wordpress.com/2009/01/image2.png" target="_blank"><img title="image" style="display:inline;border-width:0;" height="165" alt="image" src="http://peroxide20.files.wordpress.com/2009/01/image-thumb2.png?w=424&#038;h=165" width="424"/></a></p>
<p>&#8211;&gt; “Partially Succeeded” trotz erfolgreichem Build und no failed UnitTests ?!</p>
<p>Ein bisschen Nachforschung bringt einen dann auf den Pfad, dass es ein paar Warnungen gegeben hat, die man auch Abarbeiten kann. Man lädt sich die Testresults auf den lokalen Rechner (Link unter “Test Run” anklicken) und arbeitet die Warnungen ab. Zum Beispiel will Code Coverage zwingend x86 dlls (siehe auch <a href="http://social.msdn.microsoft.com/Forums/en-US/vstsprofiler/thread/abf4ae19-114f-492a-9191-28df94a6be1f/" target="_blank">hier</a>). Weiterhin müssen alle dlls die im Code Coverage eingeschlossen sind auch verfügbar sein. Code Coverage wird übrigens auch in der .testconfig Datei definiert und kann mit dem Wizard (siehe oben im Artikel) eingerichtet werden.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=71&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2009/01/23/unittests-automatische-tests-mit-tfs-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/01/image-thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/01/image-thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2009/01/image-thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Visual Studio AddOns, AddIns, Plugins &#8211; Links</title>
		<link>http://peroxide20.wordpress.com/2008/11/10/visual-studio-addons-addins-plugins-links/</link>
		<comments>http://peroxide20.wordpress.com/2008/11/10/visual-studio-addons-addins-plugins-links/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 21:09:12 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[AddOn]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[VS2005]]></category>
		<category><![CDATA[VS2008]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2008/11/10/visual-studio-addons-addins-plugins-links/</guid>
		<description><![CDATA[Das nackte Visual Studio 2005 und 2008 ist schon ganz nett, aber wenn man dann noch das ein oder andere Plugin installiert wird es ein super Tool. Die meisten der Plugins sind sowohl für Visual Studio 2005 als auch 2008 verfügbar. Die meisten davon verwende ich oder habe ich zumindest schon ausprobiert. Die Reihenfolge gibt [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=63&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Das nackte Visual Studio 2005 und 2008 ist schon ganz nett, aber wenn man dann noch das ein oder andere Plugin installiert wird es ein super Tool. Die meisten der Plugins sind sowohl für Visual Studio 2005 als auch 2008 verfügbar. Die meisten davon verwende ich oder habe ich zumindest schon ausprobiert. Die Reihenfolge gibt keine Aussage über die Wertigkeit oder häufigkeit der Verwendung (wobei Ghostdoc und ReSharper schon zu meinen Lieblingen zählen;) Die Liste ist mit Sicherheit nicht vollständig, aber das ändert sich sowieso ab und zu, wie man auch an dem Inhalt eines <a href="http://peroxide20.wordpress.com/2007/02/09/favorite-visual-studio-2005-addons/" target="_blank">früheren Artikels</a> von mir sieht.</p>
<ul>
<li><a href="http://www.roland-weigelt.de/ghostdoc/" target="_blank">GhostDoc</a> (Dokumentation von Sourcecode)  </li>
<li><a href="http://www.jetbrains.com/resharper/index.html" target="_blank">ReSharper</a> (Refactoring, Code Analyse, Produktivität, Qualität)  </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b91066b3-d1d6-4990-a45f-34cf8dbdc60c&amp;DisplayLang=en" target="_blank">Guidance Automation Toolkit für Visual Studio 2008</a>&nbsp; </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=df79c099-4753-4a59-91e3-5020d9714e4e&amp;DisplayLang=en" target="_blank">Guidance Automation Extension</a> und ein <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e28205c6-bb07-401b-9a76-804784598bf0&amp;DisplayLang=en" target="_blank">Update dazu</a> </li>
<li>Software-Factories
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f7aa544d-ad73-4b65-88d5-63f751844540&amp;DisplayLang=en" target="_blank">Web Service Software Factory Modeling Edition</a>  </li>
<li><a href="http://www.codeplex.com/smartclient" target="_blank">Smart Client Software Factory</a>  </li>
<li><a href="http://www.codeplex.com/websf" target="_blank">Web Client Software Factory</a>  </li>
<li><a href="http://msdn.microsoft.com/de-de/library/aa480471.aspx" target="_blank">Mobile Client Software Factory</a></li>
</ul>
</li>
<li><a href="http://go.microsoft.com/fwlink/?LinkId=129043" target="_blank">Silverlight Tools for Visual Studio 2008 SP1</a> siehe auch <a href="http://silverlight.net/GetStarted/" target="_blank">Silverlight Seite</a>  </li>
<li><a href="http://www.lazarciuc.ro/ioan/wp-content/uploads/2008/SilverlightSidebarGadget.vsi" target="_blank">Silverlight Sidebargadget Projektvorlage</a> mit <a href="http://www.lazarciuc.ro/ioan/2008/08/02/creating-a-vista-sidebar-gadget-using-microsoft-silverlight/" target="_blank">Erläuterung</a>  </li>
<li>Für <a href="http://www.collab.net/products/subversion/" target="_blank">Subversion</a> &#8211; <a href="http://www.visualsvn.com/visualsvn/" target="_blank">VisualSVN</a>, <a href="http://tortoisesvn.tigris.org/" target="_blank">TortoiseSVN</a>, <a href="http://ankhsvn.open.collab.net/" target="_blank">AnkhSVN</a>  </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7F45F9A9-56F5-4E1F-9FED-A3E4342FB607&amp;displaylang=en" target="_blank">Visual Studio Team System Management Model Designer Power Tool</a>  </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyId=0AA30AE8-C73B-4BDD-BB1B-FE697256C459&amp;displaylang=en" target="_blank">Visual Studio® 2008 Web Deployment Projects</a> mit <a href="http://weblogs.asp.net/scottgu/archive/2008/01/28/vs-2008-web-deployment-project-support-released.aspx" target="_blank">Erläuterungen</a>  </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=0ED12659-3D41-4420-BBB0-A46E51BFCA86&amp;displaylang=de" target="_blank">Visual Studio 2008 Team Explorer</a> und <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=46473C2A-BB85-4461-BB27-4792A5DEF222&amp;displaylang=de" target="_blank">Visual Studio 2005 Team Explorer</a>  </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=87E1FFBD-A484-4C3A-8776-D560AB1E6198&amp;displaylang=en" target="_blank">Visual Studio 2005 Team Foundation Server MSSCCI Provider</a> und <a href="http://www.microsoft.com/downloads/details.aspx?familyid=FAEB7636-644E-451A-90D4-7947217DA0E7&amp;displaylang=en" target="_blank">Visual Studio 2008 Team Foundation Server MSSCCI Provider</a>  </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FBD14EEA-781F-45A1-8C46-9F6BA2F68BF0&amp;displaylang=en" target="_blank">Visual Studio Team System 2008 Team Foundation Server Power Tools &#8211; Oktober 2008 Release</a> und <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7324C3DB-658D-441B-8522-689C557D0A79&amp;displaylang=en" target="_blank">Microsoft Visual Studio 2005 Team Foundation Server Power Tools &#8211; September 2007 release</a> </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=1643758B-2986-47F7-B529-3E41584B6CE5&amp;displaylang=en" target="_blank">Enterprise Library 4.1 &#8211; Oktober 2008</a> (Sammlung wiederverwend-barer Codeblocks) </li>
<li><a href="http://code.msdn.microsoft.com/sourceanalysis" target="_blank">StyleCop</a> (Source Code Style Analyse)</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=63&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2008/11/10/visual-studio-addons-addins-plugins-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>
	</item>
		<item>
		<title>Team Foundation Server (TFS) Interop</title>
		<link>http://peroxide20.wordpress.com/2008/11/05/team-foundation-server-tfs-interop/</link>
		<comments>http://peroxide20.wordpress.com/2008/11/05/team-foundation-server-tfs-interop/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 14:18:20 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[interop]]></category>
		<category><![CDATA[java+.net]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[VSTS]]></category>
		<category><![CDATA[VSTS Web Access]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2008/11/05/team-foundation-server-tfs-interop/</guid>
		<description><![CDATA[Welche Möglichkeiten gibt es um den Team Foundation Server als technologieunabhängige Application Lifecycle Management Plattform (ALM-Plattform) einzusetzen? Die Infrastruktur und &#8222;Toolketten&#8220;/&#8220;Toolintegration&#8220; des TFS machen doch immer wieder Lust diese Infrastruktur nicht nur für .NET Projekte einzusetzen. Meist wird der TFS immer noch sofort mit Visual Studio in Verbindung gebracht, aber längst gibt es verschiedene Möglichkeiten [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=62&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welche Möglichkeiten gibt es um den <a href="http://msdn.microsoft.com/de-de/vsts2008/products/bb933758.aspx" target="_blank">Team Foundation Server</a> als technologieunabhängige <a href="http://www.microsoft.com/germany/alm/casestudies.aspx" target="_blank">Application Lifecycle Management Plattform (ALM-Plattform)</a> einzusetzen? Die Infrastruktur und &#8222;Toolketten&#8220;/&#8220;Toolintegration&#8220; des TFS machen doch immer wieder Lust diese Infrastruktur nicht nur für .NET Projekte einzusetzen. Meist wird der TFS immer noch sofort mit Visual Studio in Verbindung gebracht, aber längst gibt es verschiedene Möglichkeiten den TFS auch unabhängig vom <a href="http://msdn.microsoft.com/de-de/vsts2008/products/default.aspx" target="_blank">Visual Studio</a> zu verwenden. Solange es nicht um Source-Code geht ist das sicher für die meisten noch verständlich. Hier können z.B. folgende Visual-Studio unabhängige Tools verwendet werden um mit Work-Items zu arbeiten:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/ms244373(VS.80).aspx" target="_blank">MS Excel</a> (Add-In mit Team Explorer Installation)</li>
<li><a href="http://msdn.microsoft.com/en-us/library/ms244373(VS.80).aspx" target="_blank">MS Project</a></li>
<li><a href="http://msdn.microsoft.com/en-us/tfs2008/bb980951.aspx" target="_blank">Team System Webaccess</a></li>
<li><a href="http://www.artiso.com/ProBlog/PermaLink,guid,3bc7e8bd-5052-4be2-96db-e8e7d80cf9da.aspx" target="_blank">Artiso Workitem Manager</a></li>
<li>nichtkommerzielle Produkte/Plugins für <a href="http://blogs.microsoft.co.il/blogs/srlteam/archive/2007/02/05/Team-System-Outlook-Addin-_2D00_-v1.0.aspx" target="_blank">Outlook</a></li>
<li>und weitere kommerzielle Produkte/Plugins für <a href="http://www.teamcompanion.com/" target="_blank">Outlook</a>, <a href="http://www.personifydesign.com/teamspec/" target="_blank">Word</a>, <a href="http://www.stpsoft.co.uk/stpbadeveloper6.html" target="_blank">Visio</a>, <a href="http://mindjetlabs.com/cs/files/folders/mindjet_labs/entry1379.aspx" target="_blank">Mindmanager</a>, &#8230;</li>
</ul>
<p>Im Source-Codebereich/IDEs ist die Hürde sicherlich viel größer mit NICHT-.NET Projekten den TFS einzusetzen, obwohl mir ja eine Super ALM Infrastruktur geboten wird. Hier gibt es aber auch verschiedene Ansätze. Einen schönen Ansatz finde ich dem Entwickler bzw. der IDE vorzugaukeln der TFS ist ein Subversion-System. Das geht mit der auf <a href="http://www.codeplex.com/" target="_blank">CodePlex</a> zur Verfügung gestellten <a href="http://www.codeplex.com/SvnBridge" target="_blank">SVNBridge</a>. Ohne dass ich da jetzt Erfahrungen habe könnte ich mir diesen Ansatz als eine relativ schnelle und Problemlose Variante den TFS (hintenherum) einzuführen vorstellen.<br />Ein anderer Ansatz ist <a href="http://www.teamprise.com/" target="_blank">TeamPrise</a> das eine Suite für den TFS zur Verfügung stellt ohne auf Visual Studio aufzusetzen. Es gibt ein TeamExplorer ähnliches <a href="http://www.teamprise.com/products/plugin/" target="_blank">Plugin</a> für Eclipse, was natürlich die Integration gegenüber der SVNBridge sicherlich deutlich erhöht. Zur <a href="http://www.teamprise.com/products/" target="_blank">Suite</a> gehört auch ein Team Prise Explorer und Command-line Client dazu. Schön ist auch die Team Build Integration, womit auch JAVA durch den TFS Team Build verarbeitet werden kann.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=62&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2008/11/05/team-foundation-server-tfs-interop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>
	</item>
		<item>
		<title>70-529: Auf dem Weg zum Enterprise Application Developer</title>
		<link>http://peroxide20.wordpress.com/2008/10/30/70-529-auf-dem-weg-zum-enterprise-application-developer/</link>
		<comments>http://peroxide20.wordpress.com/2008/10/30/70-529-auf-dem-weg-zum-enterprise-application-developer/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 22:16:19 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[MCAD]]></category>
		<category><![CDATA[MCPD]]></category>
		<category><![CDATA[MCTS]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Zertifizierung]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2008/10/30/70-529-auf-dem-weg-zum-enterprise-application-developer/</guid>
		<description><![CDATA[Heute habe ich nun nach über einem Jahr mal wieder eine Prüfung (70-529 Microsoft .NET Framework 2.0 &#8211; Distributed Application Development) erfolgreich absolviert und bin meinem vor über einem Jahr gesteckten Ziel &#8211; MCPD: Enterprise Applications Developer on Visual Studio 2005 &#8211; zu werden näher gekommen. Es ist halt doch schwierig sich neben seiner täglichen [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=55&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Heute habe ich nun nach über einem Jahr mal wieder eine Prüfung (<a href="http://www.microsoft.com/learning/exams/70-529.mspx" target="_blank">70-529 Microsoft .NET Framework 2.0 &#8211; Distributed Application Development</a>) erfolgreich absolviert und bin meinem vor über einem Jahr gesteckten Ziel &#8211; <a href="http://www.microsoft.com/learning/mcp/mcpd/entapp/default.mspx" target="_blank">MCPD: Enterprise Applications Developer on Visual Studio 2005</a> &#8211; zu werden näher gekommen.</p>
<p><img class="aligncenter size-full wp-image-57" title="mctsrgb_514_513" src="http://peroxide20.files.wordpress.com/2008/11/mctsrgb_514_513.png?w=254&#038;h=80" alt="" width="254" height="80" /></p>
<p>Es ist halt doch schwierig sich neben seiner täglichen Arbeit für die Prüfungen zu motivieren, vor allem wenn man eigentlich gedanklich schon wieder weiter ist (VS 2008) oder gar auf einmal viel weniger mit der wirklichen Hardcore Entwicklung zu tun hat. Diese heutige Prüfung hat mich trotzdem motiviert diesen Weg auf jeden Fall noch bis irgendwann im nächsten Jahr zu ende zu führen. So sieht mein geplanter Weg jetzt weiter aus (der <a href="http://www.microsoft.com/learning/mcp/mcad/default.mspx" target="_blank">MCAD</a> war natürlich vorher die Voraussetzung):</p>
<table border="1" cellspacing="0" cellpadding="2" width="448">
<tbody>
<tr>
<td width="377" valign="top"><a href="http://www.microsoft.com/learning/exams/70-551.mspx">Exam 70–551</a>: UPGRADE: MCAD Skills to MCPD Web Developer by Using the Microsoft .NET Framework</td>
<td width="69" valign="top">
<p align="center">erledigt</p>
</td>
</tr>
<tr>
<td width="373" valign="top"><a href="http://www.microsoft.com/learning/exams/70-552.mspx">Exam 70–552</a>: UPGRADE: MCAD Skills to MCPD Windows Developer by Using the Microsoft .NET Framework</td>
<td width="69" valign="top">
<p align="center">noch offen</p>
</td>
</tr>
<tr>
<td width="369" valign="top"><a href="http://www.microsoft.com/learning/exams/70-529.mspx">Exam 70–529</a>: TS: Microsoft .NET Framework 2.0 &#8211; Distributed Application Development</td>
<td width="69" valign="top">
<p align="center">erledigt</p>
</td>
</tr>
<tr>
<td width="366" valign="top"><a href="http://www.microsoft.com/learning/exams/70-549.mspx">Exam 70–549</a>: PRO: Designing and Developing Enterprise Applications by Using the Microsoft .NET Framework</td>
<td width="69" valign="top">
<p align="center">noch offen</p>
</td>
</tr>
</tbody>
</table>
<p>Es gibt natürlich noch eine Reihe anderer Wege das <a href="http://www.microsoft.com/learning/mcp/mcpd/entapp/default.mspx" target="_blank">Ziel</a> zu erreichen. Ich habe mir diesen Weg mal überlegt um auch noch die verschiedenen MCPD Web, Windows und den ein oder anderen MCTS mit abzuräumen. Die 70-529 war nun nach der 70-551 die deutlich einfachere Prüfung, denn nur 40 Fragen hauptsächlich zu den Themen Remoting, Web Services und SOAP waren auch viel schneller beantwortet.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=55&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2008/10/30/70-529-auf-dem-weg-zum-enterprise-application-developer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2008/11/mctsrgb_514_513.png" medium="image">
			<media:title type="html">mctsrgb_514_513</media:title>
		</media:content>
	</item>
		<item>
		<title>TFS &#8211; Verwenden von Areas und Iterations</title>
		<link>http://peroxide20.wordpress.com/2008/10/29/tfs-verwenden-von-areas-und-iterations/</link>
		<comments>http://peroxide20.wordpress.com/2008/10/29/tfs-verwenden-von-areas-und-iterations/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 09:12:46 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[TFS]]></category>
		<category><![CDATA[VS2008]]></category>
		<category><![CDATA[VSTS]]></category>
		<category><![CDATA[VSTS Web Access]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2008/10/29/tfs-verwenden-von-areas-und-iterations/</guid>
		<description><![CDATA[&#160; Die Einstellung für Iterations und Areas findet man zum Beispiel im Team System Web Access nach Auswahl des entsprechenden Team Projektes unter Settings &#62; Team Project Iterations bieten sich an für die Verwendung von geplanten Releases. So kann man Scenarien, Tasks, Bugs usw. schön einem Release zuordnen. Sie können auch als &#8222;Sprint&#8220; verwendet werden. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=54&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Die Einstellung für <strong>Iterations</strong> und <strong>Areas</strong> findet man zum Beispiel im Team System Web Access nach Auswahl des entsprechenden Team Projektes unter <em>Settings &gt; Team Project</em></p>
<p><a href="http://peroxide20.files.wordpress.com/2008/10/image.png" target="_blank"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="185" alt="image" src="http://peroxide20.files.wordpress.com/2008/10/image-thumb.png?w=260&#038;h=185" width="260"/></a> </p>
<p><strong>Iterations</strong> bieten sich an für die Verwendung von geplanten Releases. So kann man Scenarien, Tasks, Bugs usw. schön einem Release zuordnen. Sie können auch als &#8222;Sprint&#8220; verwendet werden.</p>
<p><a href="http://peroxide20.files.wordpress.com/2008/10/image1.png" target="_blank"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="213" alt="image" src="http://peroxide20.files.wordpress.com/2008/10/image-thumb1.png?w=260&#038;h=213" width="260"/></a> </p>
<p><strong>Areas</strong> können verwendete werden um die Aufgaben (Scenarien, Tasks, Bugs, usw.) einem bestimmten Teil des Projektes zuzuordnen. So kann man zum Beispiel Areas für die einzelnen Schichten einer Applikation (Frontend, Backend, Datenbank, &#8230;) oder auch für Bereiche die mit Code nix zu tun haben (Konzepte) verwenden.</p>
<p><a href="http://peroxide20.files.wordpress.com/2008/10/image2.png" target="_blank"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="213" alt="image" src="http://peroxide20.files.wordpress.com/2008/10/image-thumb2.png?w=233&#038;h=213" width="233"/></a> </p>
<p>Die Areas und Iterations lassen sich nun sehr komfortabel in entsprechende Queries einbauen. Damit lassen sich die Aufgaben (Scenarien, Tasks, Bugs, usw.) entsprechend Releases und Bereichen zuordnen und der Überblick bleibt auch bei größeren Projekten vorhanden. </p>
<p><a href="http://peroxide20.files.wordpress.com/2008/10/image3.png" target="_blank"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="196" alt="image" src="http://peroxide20.files.wordpress.com/2008/10/image-thumb3.png?w=260&#038;h=196" width="260"/></a> </p>
<p>Die angelegten Queries lassen sich dann auch für den Entwickler beim CheckIn im Visual Studio auswählen.</p>
<p><a href="http://peroxide20.files.wordpress.com/2008/10/image4.png" target="_blank"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="152" alt="image" src="http://peroxide20.files.wordpress.com/2008/10/image-thumb4.png?w=260&#038;h=152" width="260"/></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=54&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2008/10/29/tfs-verwenden-von-areas-und-iterations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2008/10/image-thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2008/10/image-thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2008/10/image-thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2008/10/image-thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://peroxide20.files.wordpress.com/2008/10/image-thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>C# 4.0, Azure, Application Architecture Guide</title>
		<link>http://peroxide20.wordpress.com/2008/10/28/c-40-azure-application-architecture-guide/</link>
		<comments>http://peroxide20.wordpress.com/2008/10/28/c-40-azure-application-architecture-guide/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 10:08:50 +0000</pubDate>
		<dc:creator>Daniel Kubis</dc:creator>
				<category><![CDATA[.net4.0]]></category>
		<category><![CDATA[C#4.0]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[codeplex]]></category>
		<category><![CDATA[Live.com]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://peroxide20.wordpress.com/2008/10/28/c-40-azure-application-architecture-guide/</guid>
		<description><![CDATA[Ich war ja schon bei C#3.0 dabei die neuesten Features zu beschreiben und zu zeigen. Jetzt steht schon wieder C#4.0 vor der Tür und ich werde wieder hellhörig. Sicher werde ich in den kommenden Monaten meine Augen und Ohren offen halten und nach Beispielen und Beschreibungen suchen um diese dann zu gegebenen Zeitpunkt hier vorzustellen. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=42&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich war ja schon bei C#3.0 dabei die neuesten Features zu beschreiben und zu zeigen. Jetzt steht schon wieder C#4.0 vor der Tür und ich werde wieder hellhörig. Sicher werde ich in den kommenden Monaten meine Augen und Ohren offen halten und nach Beispielen und Beschreibungen suchen um diese dann zu gegebenen Zeitpunkt hier vorzustellen. Ein <a href="http://blogs.msdn.com/dparys/archive/2008/10/28/neue-m-glichkeiten-in-c-4-0.aspx" target="_blank">erster Link von Dariusz</a> soll schon mal Geschmack bereiten. Unter <a href="http://code.msdn.microsoft.com/csharpfuture" target="_blank">C# Future</a> kann man auch noch ein paar Sachen nachlesen. <br />Das ganze testen lässt sich unter dem gerade erschienenen <a href="http://www.dotnetpro.de/link.ashx?http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;displaylang=en" target="_blank">Visual Studio 2010 CTP (Rosario)</a> mit dem .NET Framework 4.0. </p>
<p>Dann ist mir noch <a href="http://www.microsoft.com/azure" target="_blank">Azure</a> aufgefallen. Eine Plattform von Microsoft für Microsoft Dienste aus dem Netz. Das ganze passt in die Thematik SaaS (Software as a Service), S+S (Software and Services), Cloud Computing und sicher einige andere Begriffe. <a href="http://blogs.msdn.com/dparys/archive/2008/10/28/windows-azure-das-cloud-os.aspx" target="_blank">Hier</a> gibt es auch eine kleine Beschreibung von Dariusz.</p>
<p>Ich bin auch immer einer der sich gerne auf <a href="http://www.codeplex.com/" target="_blank">Codeplex</a> umschaut und da sind mir heute wieder zwei neue interessante Seiten zum Thema Architektur von Anwendungen unter Verwendung von Microsoft Produkten, Plattformen und Frameworks aufgefallen:</p>
<ol>
<li><a href="http://www.codeplex.com/AppArchGuide" target="_blank">patterns &amp; practices Application Architecture Guide &#8211; v2.0 (Beta 1 Release)</a> &#8211; eine Art Buch  </li>
<li><a href="http://www.codeplex.com/AppArch" target="_blank">patterns &amp; practices: App Arch Guide project</a> &#8211; FAQs, Videos, Cheat Sheets</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peroxide20.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peroxide20.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peroxide20.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peroxide20.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/peroxide20.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/peroxide20.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/peroxide20.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/peroxide20.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peroxide20.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peroxide20.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peroxide20.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peroxide20.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peroxide20.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peroxide20.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peroxide20.wordpress.com&amp;blog=765921&amp;post=42&amp;subd=peroxide20&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://peroxide20.wordpress.com/2008/10/28/c-40-azure-application-architecture-guide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/823ebbcc4c8c61904a17063eae6f8f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peroxide20</media:title>
		</media:content>
	</item>
	</channel>
</rss>
