<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DevTree on Marko Apfel</title><link>http://blog.marko-apfel.de/tags/devtree/</link><description>Recent content in DevTree on Marko Apfel</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 05 Oct 2012 08:12:00 +0200</lastBuildDate><atom:link href="http://blog.marko-apfel.de/tags/devtree/index.xml" rel="self" type="application/rss+xml"/><item><title>Be careful when Git suppresses bin Folders</title><link>http://blog.marko-apfel.de/posts/be-careful-when-git-suppresses-bin-folders/</link><pubDate>Fri, 05 Oct 2012 08:12:00 +0200</pubDate><guid>http://blog.marko-apfel.de/posts/be-careful-when-git-suppresses-bin-folders/</guid><description>&lt;h2 id="initial-situation"&gt;Initial situation&lt;/h2&gt;
&lt;p&gt;Often for Visual Studio projects the typical content of a &lt;code&gt;.gitignore&lt;/code&gt; file contains this line&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bin&lt;/code&gt; or&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[B|b]in&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is used to avoid that Git tries to track compile outputs as repository relevant data.&lt;/p&gt;</description></item><item><title>Installing of SDKs, Visual Studio and additional toolsets on build machines</title><link>http://blog.marko-apfel.de/posts/installing-of-sdks-visual-studio-and-additional-toolsets-on-build-machines/</link><pubDate>Mon, 05 Dec 2011 15:07:00 +0100</pubDate><guid>http://blog.marko-apfel.de/posts/installing-of-sdks-visual-studio-and-additional-toolsets-on-build-machines/</guid><description>&lt;p&gt;Last week I get the information directly from Microsoft, that at build machines SDKs must be installed to guarantee that MSBuild works well in some circumstances.&lt;/p&gt;
&lt;p&gt;We have the problem, that a self-containing build should include all necessary build artifacts – particularly Silverlight stuff. I tried to encapsulate the special steps in own targets and a build was finally possible (see my former posts). But at local machines without installed Silverlight stuff it gives problems for problems. Because reason of time finally I decide to go the Microsoft way – they break my volition.&lt;/p&gt;</description></item><item><title>Toolset agnostic build server and Silverlight projects</title><link>http://blog.marko-apfel.de/posts/toolset-agnostic-build-server-and-silverlight-projects/</link><pubDate>Thu, 10 Nov 2011 22:42:00 +0100</pubDate><guid>http://blog.marko-apfel.de/posts/toolset-agnostic-build-server-and-silverlight-projects/</guid><description>&lt;h2 id="problem"&gt;Problem&lt;/h2&gt;
&lt;p&gt;Normally I try to have my continuous integration as most a possible toolset free to ensure that no local stuff could have an impact to my build.&lt;/p&gt;
&lt;p&gt;My Silverlight app references a special compile target in a folder outside my developer tree:&lt;/p&gt;</description></item><item><title>Running StyleCop without an installation to empower continuous integration</title><link>http://blog.marko-apfel.de/posts/running-stylecop-without-an-installation-to-empower-continuous-integration/</link><pubDate>Mon, 07 Nov 2011 22:32:00 +0100</pubDate><guid>http://blog.marko-apfel.de/posts/running-stylecop-without-an-installation-to-empower-continuous-integration/</guid><description>&lt;h2 id="problem"&gt;Problem&lt;/h2&gt;
&lt;p&gt;A continuous integration server should only have a minimal toolset installed. This ensures that no unwanted libraries could affect the build and other steps.&lt;/p&gt;
&lt;p&gt;Clearly that with this slogan also &lt;em&gt;StyleCop&lt;/em&gt; should not be installed to the CI server. But we wanna have this analysis as an part of the whole build.&lt;/p&gt;</description></item><item><title>Using NuGet in a MSBuild-target to have the packages at the last stand</title><link>http://blog.marko-apfel.de/posts/using-nuget-in-a-msbuild-target-to-have-the-packages-at-the-last-stand/</link><pubDate>Wed, 06 Jul 2011 18:15:00 +0200</pubDate><guid>http://blog.marko-apfel.de/posts/using-nuget-in-a-msbuild-target-to-have-the-packages-at-the-last-stand/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;/h2&gt;
&lt;p&gt;Encouraged from the article “&lt;a href="http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages"&gt;Using NuGet without committing packages to source control&lt;/a&gt;” I decided to wrap the NuGet-call in a MSBuild target instead of using a pre-build event.&lt;/p&gt;
&lt;p&gt;Because we also trigger FxCop and StyleCop via targets this fits better in our project management.&lt;/p&gt;</description></item><item><title>About trials, spikes, samples, prototypes and clean code</title><link>http://blog.marko-apfel.de/posts/about-trials-spikes-samples-prototypes-and-clean-code/</link><pubDate>Mon, 04 Jul 2011 14:38:00 +0200</pubDate><guid>http://blog.marko-apfel.de/posts/about-trials-spikes-samples-prototypes-and-clean-code/</guid><description>&lt;p&gt;Writing clean code is only possible if you are known with the uses technology. Often during a development process this level must initially be reached.&lt;/p&gt;
&lt;p&gt;To distinguish the levels of understanding I guess separate folders under the DevTree:&lt;/p&gt;</description></item><item><title>Whitepaper “Aufbau eines pragmatisch smarten DevTree“</title><link>http://blog.marko-apfel.de/posts/whitepaper-aufbau-eines-pragmatisch-smarten-devtree/</link><pubDate>Wed, 15 Jun 2011 11:46:00 +0200</pubDate><guid>http://blog.marko-apfel.de/posts/whitepaper-aufbau-eines-pragmatisch-smarten-devtree/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;/h2&gt;
&lt;p&gt;Kommen Ihnen diese Szenarien bekannt vor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;der Build scheitert, weil ein Kollege ein 3rd Party Framework eingeführt hat und nur lokal auf seiner Maschine die benötigten Bibliotheken installiert sind&lt;/li&gt;
&lt;li&gt;der Build scheitert weil ein 3rd Party Framework auf einigen Maschinen in anderen Versionen vorhanden ist und sich damit die Datei-Versionen und -Funktionalitäten der Bibliotheken unterscheiden&lt;/li&gt;
&lt;li&gt;das Build-Ergebnis unterscheidet sich auf verschiedenen Maschinen weil jeweils andere Toolsets in die kompilierende Umgebung eingebunden sind (Code-Weaver und -Analysierer, die als Plugin in Visual Studio installiert sind)&lt;/li&gt;
&lt;li&gt;die benötigten Fragmente für ein aktuell benötigtes MSI-Setup (z.B. PDF-Dokumentationen) liegen in der Verantwortlichkeit eines Kollegen, der diese Dateien auf seinem Laptop hat, mit welchem er gerade unterwegs ist&lt;/li&gt;
&lt;li&gt;nach der Inbetriebnahme einer neuen Maschine sind stundenlange Installationsopern notwendig um wieder am Projekt mitarbeiten zu können&lt;/li&gt;
&lt;li&gt;die ausgerollte Software läuft beim Kunden nicht, weil Bibliotheken in der Applikation referenziert wurde, welche nicht im Standard-Installationsumfang beim Kunden sind&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="root-cause-analysis"&gt;Root Cause Analysis&lt;/h2&gt;
&lt;p&gt;Was ist der Grund all dieser und verwandter Probleme?&lt;/p&gt;</description></item></channel></rss>