<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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/"
	>

<channel>
	<title>Jochen Kalmbach’s Blog</title>
	<link>http://blog.kalmbach-software.de/de</link>
	<description>Mein Blog über Win32 und .NET - Endlich mein Blog auch in Deutsch</description>
	<pubDate>Thu, 26 Jan 2012 07:35:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Microsoft C++ Days in Deutschland!</title>
		<link>http://blog.kalmbach-software.de/de/2012/01/26/microsoft-c-days-in-deutschland/</link>
		<comments>http://blog.kalmbach-software.de/de/2012/01/26/microsoft-c-days-in-deutschland/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 07:31:18 +0000</pubDate>
		<dc:creator>jkalmbach</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[TFS]]></category>

		<category><![CDATA[Win32]]></category>

		<guid isPermaLink="false">http://blog.kalmbach-software.de/de/2012/01/26/microsoft-c-days-in-deutschland/</guid>
		<description><![CDATA[C++ ist noch lange nicht tod! Microsoft hat in den letzten Jahren wieder mehr Resourcen in diesen Bereich investiert. Um wieder mehr auf diesen Bereich aufmerksam zu machen bzw. sich mal weider zu Informieren, was es alles gibt, solltest Du unbedingt auf einen der C++ Days gehen. Das beste dabei ist, das Ganze ist kostenlos! [...]]]></description>
			<content:encoded><![CDATA[<p>C++ ist noch lange nicht tod! Microsoft hat in den letzten Jahren wieder mehr Resourcen in diesen Bereich investiert. Um wieder mehr auf diesen Bereich aufmerksam zu machen bzw. sich mal weider zu Informieren, was es alles gibt, solltest Du unbedingt auf einen der C++ Days gehen. Das beste dabei ist, <strong>das Ganze ist kostenlos</strong>! Also, gleich Anmelden:</p>
<ul>
<li><del>2.2.2012 14:00- 18:00  Berlin</del> (ausgebucht)
<li>7.2.2012 14:00- 18:00 Bad Homburg (<a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502635&#038;Culture=de-DE">noch freie Plätze!</a>)
<li>13.2.2012 14:00- 18:00 Karlsruhe (<a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502637&#038;Culture=de-DE">noch freie Plätze!</a>)
<li><del>5.3.2012 14:00- 18:00 Köln</del> (ausgebucht)
</ul>
<p>Mehr Infos unter:<br />
<a href="http://blogs.msdn.com/b/cbinder/archive/2011/12/29/c-entwickler-uptodate-microsoft-c-day-2012.aspx">http://blogs.msdn.com/b/cbinder/archive/2011/12/29/c-entwickler-uptodate-microsoft-c-day-2012.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kalmbach-software.de/de/2012/01/26/microsoft-c-days-in-deutschland/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Infos über VC2011 (Developer Preview)</title>
		<link>http://blog.kalmbach-software.de/de/2011/09/15/infos-uber-vc2011-developer-preview/</link>
		<comments>http://blog.kalmbach-software.de/de/2011/09/15/infos-uber-vc2011-developer-preview/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 08:28:33 +0000</pubDate>
		<dc:creator>jkalmbach</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[Win32]]></category>

		<guid isPermaLink="false">http://blog.kalmbach-software.de/de/2011/09/15/infos-uber-vc2011-developer-preview/</guid>
		<description><![CDATA[Seit kurzem sind die Hilfeseiten für VS2011 online.
Dabei sind auch die Neuigkeiten für VC 2011 aufgeführt.
Der Blick ist wirklich lohnentswert.
Das neue VS kann man sich auch schon zusammen mit Windows 8 runterladen:
http://msdn.microsoft.com/en-us/windows/apps/br229516
Wer es in einer VM installieren möchte muss das neue VMWare 8 nehmen, da es in VMWare 7.1.4 wohl nicht geht (siehe hier ).
]]></description>
			<content:encoded><![CDATA[<p>Seit kurzem sind die <a href="http://msdn.microsoft.com/en-us/library/dd831853(VS.110).aspx">Hilfeseiten für VS2011 online</a>.</p>
<p>Dabei sind auch die <a href="http://msdn.microsoft.com/en-us/library/hh409293(VS.110).aspx">Neuigkeiten für VC 2011 aufgeführt</a>.</p>
<p>Der Blick ist wirklich lohnentswert.</p>
<p>Das neue VS kann man sich auch schon zusammen mit Windows 8 runterladen:<br />
<a href="http://msdn.microsoft.com/en-us/windows/apps/br229516">http://msdn.microsoft.com/en-us/windows/apps/br229516</a></p>
<p>Wer es in einer VM installieren möchte muss das neue VMWare 8 nehmen, da es in VMWare 7.1.4 wohl nicht geht (siehe <a href="http://communities.vmware.com/message/1826606?tstart=0">hier </a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kalmbach-software.de/de/2011/09/15/infos-uber-vc2011-developer-preview/feed/</wfw:commentRss>
		</item>
		<item>
		<title>XmlSerializer verwenden mit abgeleiteten Klassen ohne &#8220;xsi:type&#8221; im XML zu verwenden</title>
		<link>http://blog.kalmbach-software.de/de/2011/09/07/xmlserializer-verwenden-mit-abgeleiteten-klassen-ohne-xsitype-im-xml-zu-verwenden/</link>
		<comments>http://blog.kalmbach-software.de/de/2011/09/07/xmlserializer-verwenden-mit-abgeleiteten-klassen-ohne-xsitype-im-xml-zu-verwenden/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 20:05:26 +0000</pubDate>
		<dc:creator>jkalmbach</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://blog.kalmbach-software.de/de/2011/09/07/xmlserializer-verwenden-mit-abgeleiteten-klassen-ohne-xsitype-im-xml-zu-verwenden/</guid>
		<description><![CDATA[Lange habe ich gerätselt, wie man verhindern kann, dass der XmlSerializer bei abgeleiteten Klassen immer nur als Element-Name die Basisklasse verwendet und dann im Attribute &#8220;xsi:type&#8221; den jeweiligen richtigen Typ reinschreibt/ausliest. Das sieht im XML immer sehr unschön aus:

&#60;Liste&#62;
  &#60;BasisKlasse xsi:type=&#34;Ableitung01&#34; /&#62;
  &#60;BasisKlasse xsi:type=&#34;Ableitung02&#34; /&#62;
&#60;/Liste&#62;

Viel schöner wäre es ja, wenn direkt die abgeleitete [...]]]></description>
			<content:encoded><![CDATA[<p>Lange habe ich gerätselt, wie man verhindern kann, dass der XmlSerializer bei abgeleiteten Klassen immer nur als Element-Name die Basisklasse verwendet und dann im Attribute &#8220;xsi:type&#8221; den jeweiligen richtigen Typ reinschreibt/ausliest. Das sieht im XML immer sehr unschön aus:</p>

<div class="wp_syntax"><div class="code"><pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Liste<span style="font-weight: bold; color: black;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;BasisKlasse</span> <span style="color: #000066;">xsi:type</span>=<span style="color: #ff0000;">&quot;Ableitung01&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;BasisKlasse</span> <span style="color: #000066;">xsi:type</span>=<span style="color: #ff0000;">&quot;Ableitung02&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Liste<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre></div></div>

<p>Viel schöner wäre es ja, wenn direkt die abgeleitete Klasse in der Datei stehen würde:</p>

<div class="wp_syntax"><div class="code"><pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Liste<span style="font-weight: bold; color: black;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Ableitung01</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Ableitung02</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Liste<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre></div></div>

<p>Bisher hab ich sowas immer gemacht, indem ich das &#8220;XmlInclude&#8221; Attribut an die Root-Klasse rangehängt habe, um dem XmlSerializer mitzuteilen, welche Klassen er noch berücksichtigen soll. Heute hat mir nun ein Kollege ganz nebenbei eine XML-Datei gezeigt, die genau das hat, was ich schon lange suche&#8230; Der Trick ist einfach nur, das &#8220;XmlArrayItem&#8221; Attribut an dem jeweiligen Property der Liste dranzuhängen&#8230; damit werden die Listen-Einträge dann ohne &#8220;xsi:type&#8221; serialisiert und bekommen den lesbaren Namen <img src='http://blog.kalmbach-software.de/de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Hier ein kurzes Beispiel wie sowas aussieht:</p>
<pre lang="C#">
using System.Collections.Generic;
using System.Xml.Serialization;

namespace ConsoleApplication_VS2010
{
  public abstract class BaseObject {}

  public class Special01 : BaseObject {}
  public class Special02 : BaseObject {}

  public class Root
  {
    readonly List<BaseObject> _Objects = new List<BaseObject>();

    [XmlArrayItem(typeof(Special01))]
    [XmlArrayItem(typeof(Special02))]
    public List<BaseObject> Objects
    { get { return _Objects; } }
  }

  class Program
  {
    static void Main(string[] args)
    {
      var r = new Root();
      r.Objects.Add(new Special01());
      r.Objects.Add(new Special02());
      r.Objects.Add(new Special01());

      using (var sw = new System.IO.StringWriter())
      {
        var ser = new XmlSerializer(typeof (Root));
        ser.Serialize(sw, r);
        System.Console.WriteLine(sw.ToString());
      }

    }
  }
}
</pre>
<p>Dies ergibt dann:</p>

<div class="wp_syntax"><div class="code"><pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-16&quot;</span><span style="font-weight: bold; color: black;">?&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Root</span> <span style="color: #000066;">xmlns:xsi</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span> <span style="color: #000066;">xmlns:xsd</span>=<span style="color: #ff0000;">&quot;http://ww
w.w3.org/2001/XMLSchema&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Objects<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Special01</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Special02</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Special01</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Objects<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Root<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.kalmbach-software.de/de/2011/09/07/xmlserializer-verwenden-mit-abgeleiteten-klassen-ohne-xsitype-im-xml-zu-verwenden/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VHD mit VS2010 SP1 / TFS und vielen Hand-On-Labs</title>
		<link>http://blog.kalmbach-software.de/de/2011/07/14/vhd-mit-vs2010-sp1-tfs-und-vielen-hand-on-labs/</link>
		<comments>http://blog.kalmbach-software.de/de/2011/07/14/vhd-mit-vs2010-sp1-tfs-und-vielen-hand-on-labs/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 16:24:47 +0000</pubDate>
		<dc:creator>jkalmbach</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[TFS]]></category>

		<category><![CDATA[WPF]]></category>

		<category><![CDATA[Win32]]></category>

		<guid isPermaLink="false">http://blog.kalmbach-software.de/de/2011/07/14/vhd-mit-vs2010-sp1-tfs-und-vielen-hand-on-labs/</guid>
		<description><![CDATA[Wer mal VS2010 SP1 Ultimate kostenlos testen will und dabei auh noch einige Hand-On-Labs machen will (incl. TFS Labs), der kann sich die VHD hier rinterladen:
http://blogs.msdn.com/b/briankel/archive/2010/06/25/now-available-visual-studio-2010-rtm-virtual-machine-with-sample-data-and-hands-on-labs.aspx 
Ein kleiner Hinweis noch: Das Windows läuft am 1.November 2011 ab&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Wer mal VS2010 SP1 Ultimate kostenlos testen will und dabei auh noch einige Hand-On-Labs machen will (incl. TFS Labs), der kann sich die VHD hier rinterladen:</p>
<p><a href="http://blogs.msdn.com/b/briankel/archive/2010/06/25/now-available-visual-studio-2010-rtm-virtual-machine-with-sample-data-and-hands-on-labs.aspx ">http://blogs.msdn.com/b/briankel/archive/2010/06/25/now-available-visual-studio-2010-rtm-virtual-machine-with-sample-data-and-hands-on-labs.aspx </a></p>
<p>Ein kleiner Hinweis noch: Das Windows läuft am 1.November 2011 ab&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kalmbach-software.de/de/2011/07/14/vhd-mit-vs2010-sp1-tfs-und-vielen-hand-on-labs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VS2010 SP1 - Achtung bei installiertem Windows SDK v7.1!</title>
		<link>http://blog.kalmbach-software.de/de/2011/03/10/vs2010-sp1-achtung-bei-installiertem-windows-sdk-v71/</link>
		<comments>http://blog.kalmbach-software.de/de/2011/03/10/vs2010-sp1-achtung-bei-installiertem-windows-sdk-v71/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 21:15:23 +0000</pubDate>
		<dc:creator>jkalmbach</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Win32]]></category>

		<guid isPermaLink="false">http://blog.kalmbach-software.de/de/2011/03/10/vs2010-sp1-achtung-bei-installiertem-windows-sdk-v71/</guid>
		<description><![CDATA[Wer neben der Installation von VS2010 (Express oder Professional) auch noch das separate Windows SDK v7.1 installiert hat, der sollte das VS2010 SP1 nicht installieren!
Wenn man das SP1 installiert so werden die Compiler und C++ Libraries der IA64/x64 Komponenten gelöscht!
Es scheint so, als ob die Premium und Ultimate-Versionen davon nicht betroffen sind.
Mehr dazu siehe:
Visual Studio [...]]]></description>
			<content:encoded><![CDATA[<p>Wer neben der Installation von VS2010 (Express oder Professional) auch noch das separate <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&#038;displaylang=en">Windows SDK v7.1</a> installiert hat, der sollte das VS2010 SP1 <strong>nicht installieren</strong>!<br />
Wenn man das SP1 installiert so werden die Compiler und C++ Libraries der IA64/x64 Komponenten gelöscht!<br />
Es scheint so, als ob die Premium und Ultimate-Versionen davon nicht betroffen sind.</p>
<p>Mehr dazu siehe:<br />
<a href="http://msdn.microsoft.com/en-us/visualc/gg697159">Visual Studio 2010 Service Pack 1 and Windows SDK for Windows 7 and .NET Framework 4 Issue</a></p>
<p><strong>Update (2011-03-31):</strong><br />
Es gibt wohl ein Hotfix dazu. Siehe:<br />
<a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=689655b4-c55d-4f9b-9665-2c547e637b70">Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kalmbach-software.de/de/2011/03/10/vs2010-sp1-achtung-bei-installiertem-windows-sdk-v71/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Edit- and Continue mit &#8220;Multitargeting&#8221; in VS2010</title>
		<link>http://blog.kalmbach-software.de/de/2011/02/26/edit-and-continue-mit-multitargeting-in-vs2010/</link>
		<comments>http://blog.kalmbach-software.de/de/2011/02/26/edit-and-continue-mit-multitargeting-in-vs2010/#comments</comments>
		<pubDate>Sat, 26 Feb 2011 18:35:15 +0000</pubDate>
		<dc:creator>jkalmbach</dc:creator>
		
		<category><![CDATA[Win32]]></category>

		<guid isPermaLink="false">http://blog.kalmbach-software.de/de/2011/02/26/edit-and-continue-mit-multitargeting-in-vs2010/</guid>
		<description><![CDATA[Mit VS2010 wurde für VC++ das &#8220;Multi-Targeting&#8221; eingeführt. Damit kann man mit VS2010 entwickeln, aber trotzdem noch z.B. die Compiler/Linker von VS2008 verwenden. Das funktioniert auch ganz gut&#8230; Jetzt ist aber einem Kollegen von mir aufgefallen, dass bei einem Projekt wo dies so eingestellt ist, das Edit- and Continue im Debug-Mode wohl nicht mehr funktioniert.
Das [...]]]></description>
			<content:encoded><![CDATA[<p>Mit VS2010 wurde für VC++ das &#8220;<a href="http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx">Multi-Targeting</a>&#8221; eingeführt. Damit kann man mit VS2010 entwickeln, aber trotzdem noch z.B. die Compiler/Linker von VS2008 verwenden. Das funktioniert auch ganz gut&#8230; Jetzt ist aber einem Kollegen von mir aufgefallen, dass bei einem Projekt wo dies so eingestellt ist, das Edit- and Continue im Debug-Mode wohl nicht mehr funktioniert.</p>
<p>Das scheint also leider ein Bug zu sein. Wenn das Toolset &#8220;v100&#8243; ist, so geht alles; wenn man es umstellt auf &#8220;v90&#8243; so geht das Edit- and C>ontinue nicht mehr. Sehr Schade&#8230; das erschwert natürlich die Entwicklung etwas wenn man sich mal daran gewöhnt hat <img src='http://blog.kalmbach-software.de/de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Hier der Link zu dem Eintrag auf Connect:<br />
<a href="https://connect.microsoft.com/VisualStudio/feedback/details/647971/">https://connect.microsoft.com/VisualStudio/feedback/details/647971/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kalmbach-software.de/de/2011/02/26/edit-and-continue-mit-multitargeting-in-vs2010/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Alternative zu .NET Reflector: ILSpy</title>
		<link>http://blog.kalmbach-software.de/de/2011/02/11/alternative-zu-net-reflector-ilspy/</link>
		<comments>http://blog.kalmbach-software.de/de/2011/02/11/alternative-zu-net-reflector-ilspy/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 08:06:22 +0000</pubDate>
		<dc:creator>jkalmbach</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://blog.kalmbach-software.de/de/2011/02/11/alternative-zu-net-reflector-ilspy/</guid>
		<description><![CDATA[Nachdem redgate angekündigt hat ab der nächsten Version 35$ für .NET Reflector zu verlangen, stellt sich ja die Frage, was man macht, wenn man doch oft das sehr nützliche Tool verwendet.
Seit kurzem gibt es eine Alternative vom SharpDevelop-Team: ILSpy
http://www.ILSpy.net/
Es ist zwar immer noch in Entwicklung, aber es sieht zumindest vielversprechend aus:

]]></description>
			<content:encoded><![CDATA[<p>Nachdem redgate <a href="http://www.red-gate.com/products/dotnet-development/reflector/announcement">angekündigt hat</a> ab der nächsten Version 35$ für <a href="http://www.red-gate.com/products/dotnet-development/reflector/">.NET Reflector</a> zu verlangen, stellt sich ja die Frage, was man macht, wenn man doch oft das sehr nützliche Tool verwendet.</p>
<p>Seit kurzem gibt es eine Alternative vom <a href="http://icsharpcode.net/OpenSource/SD/Default.aspx">SharpDevelop</a>-Team: ILSpy<br />
<a href="http://www.ilspy.net/">http://www.ILSpy.net/</a></p>
<p>Es ist zwar immer noch in Entwicklung, aber es sieht zumindest vielversprechend aus:<br />
<a href="http://blog.kalmbachnet.de/files/ilspy.png"><img src="http://blog.kalmbachnet.de/files/ilspy.png" alt="ILSpy" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kalmbach-software.de/de/2011/02/11/alternative-zu-net-reflector-ilspy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RegFree COM Activation und Pfad zu einem anderen Verzeichnis / Unit-Tests</title>
		<link>http://blog.kalmbach-software.de/de/2011/01/14/regfree-com-activation-und-pfad-zu-einem-anderen-verzeichnis-unit-tests/</link>
		<comments>http://blog.kalmbach-software.de/de/2011/01/14/regfree-com-activation-und-pfad-zu-einem-anderen-verzeichnis-unit-tests/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 17:25:25 +0000</pubDate>
		<dc:creator>jkalmbach</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[TFS]]></category>

		<category><![CDATA[Win32]]></category>

		<guid isPermaLink="false">http://blog.kalmbach-software.de/de/2011/01/14/regfree-com-activation-und-pfad-zu-einem-anderen-verzeichnis-unit-tests/</guid>
		<description><![CDATA[Ich hatte hier das Problem, dass wir in einen VIsual Studio Unit Test eine COM-DLL verwenden müssen. Diesen wollen wir aber nicht auf dem Build-Server registrieren. Um dies zu umgehen, hab ich mittels CreateActCtx / ActivateCtx / usw. eine Klasse gemacht, mit der man ein Manifest zur Laufzeit aktivieren kann. Jetzt war aber das Hauptproblem, [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte hier das Problem, dass wir in einen VIsual Studio Unit Test eine COM-DLL verwenden müssen. Diesen wollen wir aber nicht auf dem Build-Server registrieren. Um dies zu umgehen, hab ich mittels CreateActCtx / ActivateCtx / usw. eine Klasse gemacht, mit der man ein Manifest zur Laufzeit aktivieren kann. Jetzt war aber das Hauptproblem, dass die Unit-Tests ja von einer Applikation ausgeführt werden, auf dessen Verzeichnis wir keinen Zugriff haben. Im Internet hab ich aber immer nur Beispiele gefunden, wo die COM-DLL im gleichen Verzeichnis wie die EXE lag. Dies geht hier aber nicht, sondern die DLL muss mit einem &#8220;DeployItem&#8221; auch in das entsprechende Out-Verzeichnis kopiert werden und von dort muss diese COM-DLL dann geladen werden. D.h. das Manifest muss auf diese Datei zeigen.<br />
Ich hab das nicht hinbekommen&#8230;. mein erster Versuch war das &#8220;lpAssemblyDirectory&#8221; Feld in der ACTCTX Struktur zu setzen. Damit hab ich es aber nicht hinbekommen; hab alles erdenkliche versucht&#8230; er hat immer gemeldet, dass er die Datei nicht finden kann&#8230;<br />
Dann hab ich es in der Manifest-Datei selber probiert. Dort hab ich es nur hinbekommen, wenn der <code>&lt;file name="NameDer.dll"&gt;</code> auf den relativen Pfad geändert hab, also: <code>&lt;file name="test\NameDer.dll"&gt;</code>.<br />
Aber sobald ich einen vollständigen Pfad angegeben hab, ging es nicht mehr&#8230; ich bin fast verzweifelt&#8230;<br />
Dann endlich kam ich drauf (keine Ahnung wie): Man muss den ganzen Pfad angeben, aber für jeden Slash jeweils *zwei* einfügen! Also:<br />
<code>&lt;file name="C:\\Temp\\Test\\NameDer.dll"&gt;</code><br />
Und siehe da: Es funktioniert, auch wenn die DLL nicht im entsprechenden EXE-Verzeichnis liegt.</p>
<p>Somit können wir jetzt Unit Tests erzeugen, welche eigentlich eine Registrierung von COM-DLLs auf dem Server verlangt hätten.</p>
<p>Mehr Infos dazu siehe:<br />
<a href="https://cfx.svn.codeplex.com/svn/Visual%20Studio%202008/CSRegFreeCOMClient/Program.cs">https://cfx.svn.codeplex.com/svn/Visual%20Studio%202008/CSRegFreeCOMClient/Program.cs</a><br />
<a href="http://www.mazecomputer.com/sxs/help/sxsapi2.htm">http://www.mazecomputer.com/sxs/help/sxsapi2.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kalmbach-software.de/de/2011/01/14/regfree-com-activation-und-pfad-zu-einem-anderen-verzeichnis-unit-tests/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OT: Weihnachtsgeschichte im Web 2.0</title>
		<link>http://blog.kalmbach-software.de/de/2011/01/04/ot-weihnachtsgeschichte-im-web-20/</link>
		<comments>http://blog.kalmbach-software.de/de/2011/01/04/ot-weihnachtsgeschichte-im-web-20/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 14:41:26 +0000</pubDate>
		<dc:creator>jkalmbach</dc:creator>
		
		<category><![CDATA[Win32]]></category>

		<guid isPermaLink="false">http://blog.kalmbach-software.de/de/2011/01/04/ot-weihnachtsgeschichte-im-web-20/</guid>
		<description><![CDATA[Wäre die Weihnachtsgeschichte in der heutigen Zeit passiert, so sehe sie vermutlich so oder so ähnlich aus:




]]></description>
			<content:encoded><![CDATA[<p>Wäre die Weihnachtsgeschichte in der heutigen Zeit passiert, so sehe sie vermutlich so oder so ähnlich aus:</p>
<p><object width="640" height="390">
<param name="movie" value="http://www.youtube.com/v/vZrf0PbAGSk&#038;hl=en_US&#038;feature=player_embedded&#038;version=3"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/vZrf0PbAGSk&#038;hl=en_US&#038;feature=player_embedded&#038;version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kalmbach-software.de/de/2011/01/04/ot-weihnachtsgeschichte-im-web-20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ändern des .NET TargetFrameworks in VS2010 für C++/CLI Projekte</title>
		<link>http://blog.kalmbach-software.de/de/2011/01/04/andern-des-net-targetframeworks-in-vs2010-fur-ccli-projekte/</link>
		<comments>http://blog.kalmbach-software.de/de/2011/01/04/andern-des-net-targetframeworks-in-vs2010-fur-ccli-projekte/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 09:35:51 +0000</pubDate>
		<dc:creator>jkalmbach</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Win32]]></category>

		<guid isPermaLink="false">http://blog.kalmbach-software.de/de/2011/01/04/andern-des-net-targetframeworks-in-vs2010-fur-ccli-projekte/</guid>
		<description><![CDATA[Leider gibt es in VS2010 bei C++/CLI Projekten keine Möglichkeite durch die Projekt-Eigenschaften einzustellen, welche .NET Version bei einem C++/CLI Projekt (/clr) verwendet werden soll.
Die einzige Möglichkeit ist es, dies direkt in der *.vcxproj-Datei vorzunehmen. Dazu sind Folgende Schritte notwendig:

Rechst-Klick auf das entsprechende Projekt im Solution Explorer und dann auf &#8220;Unload project&#8221; klicken
Dann nochmals ein [...]]]></description>
			<content:encoded><![CDATA[<p>Leider gibt es in VS2010 bei C++/CLI Projekten keine Möglichkeite durch die Projekt-Eigenschaften einzustellen, welche .NET Version bei einem C++/CLI Projekt (/clr) verwendet werden soll.<br />
Die einzige Möglichkeit ist es, dies direkt in der *.vcxproj-Datei vorzunehmen. Dazu sind Folgende Schritte notwendig:</p>
<ol>
<li>Rechst-Klick auf das entsprechende Projekt im Solution Explorer und dann auf &#8220;Unload project&#8221; klicken
<li>Dann nochmals ein Rechts-Klick auf das entladene Projekt im Solution Explorer und &#8220;Edit
<projectname>.vcxproj&#8221; auswählen</p>
<li>In the Projekt XML Datei nach dem Knoten <PropertyGroup Label="Globals"> suchen
<li>In diesem Knoten nach dem Unterknoten <TargetFrameworkVersion> such (wenn er nicht existiert muss man ihn hinzufüügen)
<li>Der innere Text des Knotens definiert nun das TargetFramework. Es kann die Werte v2.0,v3.0, v3.5 oder v4.0 annehmen
<li>Speichere die vcxproj Datei und schliesse sie
<li>Dann nochmals ein Rechts-Klick auf das entladene Projekt im Solution Explorer und &#8220;Reload Project&#8221; auswählen
</ol>
<p>Beispiel:</p>

<div class="wp_syntax"><div class="code"><pre class="xml">  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;PropertyGroup</span> <span style="color: #000066;">Label</span>=<span style="color: #ff0000;">&quot;Globals&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;ProjectGuid<span style="font-weight: bold; color: black;">&gt;</span></span></span>{089A9EBF-5149-462A-BC7E-2B1B59DE123C}<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/ProjectGuid<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Keyword<span style="font-weight: bold; color: black;">&gt;</span></span></span>Win32Proj<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Keyword<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;RootNamespace<span style="font-weight: bold; color: black;">&gt;</span></span></span>CPP_VS2010<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/RootNamespace<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;TargetFrameworkVersion<span style="font-weight: bold; color: black;">&gt;</span></span></span>v3.5<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/TargetFrameworkVersion<span style="font-weight: bold; color: black;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/PropertyGroup<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.kalmbach-software.de/de/2011/01/04/andern-des-net-targetframeworks-in-vs2010-fur-ccli-projekte/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

