<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>artiso Blog</title>
    <link>http://www.artiso.com/ProBlog/</link>
    <description>Neues rund um's Thema .Net</description>
    <language>de-de</language>
    <copyright>Thomas</copyright>
    <lastBuildDate>Fri, 16 May 2008 15:50:11 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>tschissler@artiso.com</managingEditor>
    <webMaster>tschissler@artiso.com</webMaster>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=442e27de-28f9-4f44-a6c5-14fdd432e09d</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,442e27de-28f9-4f44-a6c5-14fdd432e09d.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,442e27de-28f9-4f44-a6c5-14fdd432e09d.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=442e27de-28f9-4f44-a6c5-14fdd432e09d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Für eine ASP.Net Anwendung möchte ich gerne die Versionen meiner Anwendung und aller
referenzierten Assemblies ausgeben. Bei Winforms kann ich für die Anwendung mit Application.ProductVersion
die Version meiner Anwendung abfragen, die ich in der AssemblyInfo.cs eingestellt
habe. Das geht bei ASP.Net nicht. Hier die Lösung, wie man das im Web macht, gleich
mit Sortierung:
</p>
        <div>
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();

<span style="color: #0000ff">if</span> (assembly
!= <span style="color: #0000ff">null</span>) { lblProductVersion.Text = assembly.GetName().Name
+ <span style="color: #006080">" - "</span> + assembly.GetName().Version.ToString();
var referenceAssemblies = from a <span style="color: #0000ff">in</span> assembly.GetReferencedAssemblies()
orderby a.Name select a; <span style="color: #0000ff">foreach</span> (AssemblyName
referenceAssemblyName <span style="color: #0000ff">in</span> referenceAssemblies)
{ lblProductVersion.Text += <span style="color: #006080">"&lt;br&gt;"</span> + referenceAssemblyName.Name
+ <span style="color: #006080">" - "</span> + referenceAssemblyName.Version; } }</pre>
        </div>
        <p>
 
</p>
        <p>
Die Ausgabe sieht dann ungefähr so aus:
</p>
        <p>
          <span id="ctl00_ContentPlaceHolder1_ucSysInfo1_lblProductVersion">MyApplication -
1.0.3058.30144<br />
AjaxControlToolkit - 1.0.10618.0<br />
ArtisoAssertLib - 1.0.0.0<br />
CommonComponents - 1.0.3056.28557<br />
CommonContracts - 1.0.3056.28555<br />
CrystalDecisions.CrystalReports.Engine - 11.5.3700.0<br />
CrystalDecisions.ReportSource - 11.5.3700.0<br />
CrystalDecisions.Shared - 11.5.3700.0<br />
cTextBox - 1.0.3058.27781<br />
DataContracts - 1.0.0.0<br />
Infragistics35.WebUI.Misc.v8.1 - 8.1.20081.1000<br />
Infragistics35.WebUI.Shared.v8.1 - 8.1.20081.1000<br />
Infragistics35.WebUI.UltraWebChart.v8.1 - 8.1.20081.1000<br />
Infragistics35.WebUI.UltraWebGrid.v8.1 - 8.1.20081.1000<br />
Infragistics35.WebUI.UltraWebNavigator.v8.1 - 8.1.20081.1000<br />
Infragistics35.WebUI.UltraWebTab.v8.1 - 8.1.20081.1000<br />
Infragistics35.WebUI.UltraWebToolbar.v8.1 - 8.1.20081.1000<br />
Infragistics35.WebUI.WebDataInput.v8.1 - 8.1.20081.1000<br />
Infragistics35.WebUI.WebDateChooser.v8.1 - 8.1.20081.1000<br />
ListValuesComponents - 1.0.3057.30147<br />
ListValuesContracts - 1.0.3057.30146<br />
LoginManagerComponents - 1.0.3033.29632<br />
LoginManagerContracts - 1.0.0.0<br />
mscorlib - 2.0.0.0<br />
NavigationComponents - 1.0.3058.27781<br />
NavigationContracts - 1.0.3058.27780<br />
PCMAreaComponents - 1.0.3058.27781<br />
PCMAreaContracts - 1.0.3058.27779<br />
ProductsAreaComponents - 1.0.3058.27779<br />
ProjectsAreaComponents - 1.0.3058.27780<br />
ProjectsAreaContracts - 1.0.3058.27778<br />
ReportingComponents - 1.0.3058.27781<br />
ReportingContracts - 1.0.3058.27780<br />
SearchComponents - 1.0.3058.27779<br />
SearchContracts - 1.0.3058.27779<br />
System - 2.0.0.0<br />
System.Configuration - 2.0.0.0<br />
System.Core - 3.5.0.0<br />
System.Data - 2.0.0.0<br />
System.Data.DataSetExtensions - 3.5.0.0<br />
System.Data.Linq - 3.5.0.0<br />
System.Drawing - 2.0.0.0<br />
System.Web - 2.0.0.0<br />
System.Web.Extensions - 3.5.0.0<br />
System.Web.Services - 2.0.0.0<br />
System.Xml - 2.0.0.0<br />
TaskListComponent - 1.0.3056.28564<br />
TaskListContract - 1.0.3056.28560<br />
TypesComponents - 1.0.3057.30147<br />
TypesContracts - 1.0.3057.30147<br />
UserManagementContracts - 1.0.0.0<br />
Validators - 1.0.0.0<br />
wwDataBinder - 1.0.2908.21817</span>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=442e27de-28f9-4f44-a6c5-14fdd432e09d" />
      </body>
      <title>Assembly versionen bei Web-Anwendungen ausgeben</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,442e27de-28f9-4f44-a6c5-14fdd432e09d.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,442e27de-28f9-4f44-a6c5-14fdd432e09d.aspx</link>
      <pubDate>Fri, 16 May 2008 15:50:11 GMT</pubDate>
      <description>&lt;p&gt;
Für eine ASP.Net Anwendung möchte ich gerne die Versionen meiner Anwendung und aller
referenzierten Assemblies ausgeben. Bei Winforms kann ich für die Anwendung mit Application.ProductVersion
die Version meiner Anwendung abfragen, die ich in der AssemblyInfo.cs eingestellt
habe. Das geht bei ASP.Net nicht. Hier die Lösung, wie man das im Web macht, gleich
mit Sortierung:
&lt;/p&gt;
&lt;div&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();

&lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (assembly
!= &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;) { lblProductVersion.Text = assembly.GetName().Name
+ &lt;span style="color: #006080"&gt;" - "&lt;/span&gt; + assembly.GetName().Version.ToString();
var referenceAssemblies = from a &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; assembly.GetReferencedAssemblies()
orderby a.Name select a; &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (AssemblyName
referenceAssemblyName &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; referenceAssemblies)
{ lblProductVersion.Text += &lt;span style="color: #006080"&gt;"&amp;lt;br&amp;gt;"&lt;/span&gt; + referenceAssemblyName.Name
+ &lt;span style="color: #006080"&gt;" - "&lt;/span&gt; + referenceAssemblyName.Version; } }&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Die Ausgabe sieht dann ungefähr so aus:
&lt;/p&gt;
&lt;p&gt;
&lt;span id="ctl00_ContentPlaceHolder1_ucSysInfo1_lblProductVersion"&gt;MyApplication -
1.0.3058.30144&lt;br&gt;
AjaxControlToolkit - 1.0.10618.0&lt;br&gt;
ArtisoAssertLib - 1.0.0.0&lt;br&gt;
CommonComponents - 1.0.3056.28557&lt;br&gt;
CommonContracts - 1.0.3056.28555&lt;br&gt;
CrystalDecisions.CrystalReports.Engine - 11.5.3700.0&lt;br&gt;
CrystalDecisions.ReportSource - 11.5.3700.0&lt;br&gt;
CrystalDecisions.Shared - 11.5.3700.0&lt;br&gt;
cTextBox - 1.0.3058.27781&lt;br&gt;
DataContracts - 1.0.0.0&lt;br&gt;
Infragistics35.WebUI.Misc.v8.1 - 8.1.20081.1000&lt;br&gt;
Infragistics35.WebUI.Shared.v8.1 - 8.1.20081.1000&lt;br&gt;
Infragistics35.WebUI.UltraWebChart.v8.1 - 8.1.20081.1000&lt;br&gt;
Infragistics35.WebUI.UltraWebGrid.v8.1 - 8.1.20081.1000&lt;br&gt;
Infragistics35.WebUI.UltraWebNavigator.v8.1 - 8.1.20081.1000&lt;br&gt;
Infragistics35.WebUI.UltraWebTab.v8.1 - 8.1.20081.1000&lt;br&gt;
Infragistics35.WebUI.UltraWebToolbar.v8.1 - 8.1.20081.1000&lt;br&gt;
Infragistics35.WebUI.WebDataInput.v8.1 - 8.1.20081.1000&lt;br&gt;
Infragistics35.WebUI.WebDateChooser.v8.1 - 8.1.20081.1000&lt;br&gt;
ListValuesComponents - 1.0.3057.30147&lt;br&gt;
ListValuesContracts - 1.0.3057.30146&lt;br&gt;
LoginManagerComponents - 1.0.3033.29632&lt;br&gt;
LoginManagerContracts - 1.0.0.0&lt;br&gt;
mscorlib - 2.0.0.0&lt;br&gt;
NavigationComponents - 1.0.3058.27781&lt;br&gt;
NavigationContracts - 1.0.3058.27780&lt;br&gt;
PCMAreaComponents - 1.0.3058.27781&lt;br&gt;
PCMAreaContracts - 1.0.3058.27779&lt;br&gt;
ProductsAreaComponents - 1.0.3058.27779&lt;br&gt;
ProjectsAreaComponents - 1.0.3058.27780&lt;br&gt;
ProjectsAreaContracts - 1.0.3058.27778&lt;br&gt;
ReportingComponents - 1.0.3058.27781&lt;br&gt;
ReportingContracts - 1.0.3058.27780&lt;br&gt;
SearchComponents - 1.0.3058.27779&lt;br&gt;
SearchContracts - 1.0.3058.27779&lt;br&gt;
System - 2.0.0.0&lt;br&gt;
System.Configuration - 2.0.0.0&lt;br&gt;
System.Core - 3.5.0.0&lt;br&gt;
System.Data - 2.0.0.0&lt;br&gt;
System.Data.DataSetExtensions - 3.5.0.0&lt;br&gt;
System.Data.Linq - 3.5.0.0&lt;br&gt;
System.Drawing - 2.0.0.0&lt;br&gt;
System.Web - 2.0.0.0&lt;br&gt;
System.Web.Extensions - 3.5.0.0&lt;br&gt;
System.Web.Services - 2.0.0.0&lt;br&gt;
System.Xml - 2.0.0.0&lt;br&gt;
TaskListComponent - 1.0.3056.28564&lt;br&gt;
TaskListContract - 1.0.3056.28560&lt;br&gt;
TypesComponents - 1.0.3057.30147&lt;br&gt;
TypesContracts - 1.0.3057.30147&lt;br&gt;
UserManagementContracts - 1.0.0.0&lt;br&gt;
Validators - 1.0.0.0&lt;br&gt;
wwDataBinder - 1.0.2908.21817&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=442e27de-28f9-4f44-a6c5-14fdd432e09d" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,442e27de-28f9-4f44-a6c5-14fdd432e09d.aspx</comments>
      <category>ASP.Net;Tipps und Tricks</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=971e427f-b4f6-4ff3-a115-c9ee34e6072b</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,971e427f-b4f6-4ff3-a115-c9ee34e6072b.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,971e427f-b4f6-4ff3-a115-c9ee34e6072b.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=971e427f-b4f6-4ff3-a115-c9ee34e6072b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Für manuelle Tests muss man einen definierten Ausgangszustand schaffen um diese sinnvoll
durchführen zu können. Dieser Ausgangszustand bezieht sich meist auf eine Datenbank.
Um diesen Vorgang nun zu vereinfachen haben wir ein kleines Tool erstellt. Damit können
Snapshots von Datenbanken erstellt und wiederhergestellt werden.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/SQLSnapshotTool_E144/image_2.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="227" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/SQLSnapshotTool_E144/image_thumb.png" width="409" border="0" />
          </a>
        </p>
        <p>
Das Tool erstellt dazu einfach ein Backup der Datenbank und kann dieses Backup auch
wiederherstellen. Das ist sicher nicht extrem elegant, aber sehr einfach und praktikabel.
Damit das Tool funktioniert, muss man zunächst ein parr Einstellungen in der config
vornehmen:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">&lt;?</span>
              <span style="color: #800000">xml</span>
              <span style="color: #ff0000">version</span>
              <span style="color: #0000ff">="1.0"</span>
              <span style="color: #ff0000">encoding</span>
              <span style="color: #0000ff">="utf-8"</span> ?<span style="color: #0000ff">&gt;</span></pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">configuration</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">configSections</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">sectionGroup</span>
              <span style="color: #ff0000">name</span>
              <span style="color: #0000ff">="applicationSettings"</span>
              <span style="color: #ff0000">type</span>
              <span style="color: #0000ff">="System.Configuration.ApplicationSettingsGroup,
System, Version=2.0.0.0, Culture=neutral, 
<br />
PublicKeyToken=b77a5c561934e089"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 5:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">section</span>
              <span style="color: #ff0000">name</span>
              <span style="color: #0000ff">="SQLSnapshotTool.Properties.Settings"</span>
              <span style="color: #ff0000">type</span>
              <span style="color: #0000ff">="System.Configuration.ClientSettingsSection,
System, Version=2.0.0.0, 
<br />
Culture=neutral, PublicKeyToken=b77a5c561934e089"</span>
              <span style="color: #ff0000">requirePermission</span>
              <span style="color: #0000ff">="false"</span>
              <span style="color: #0000ff">/&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">sectionGroup</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 7:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">configSections</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">applicationSettings</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 9:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">SQLSnapshotTool.Properties.Settings</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">setting</span>
              <span style="color: #ff0000">name</span>
              <span style="color: #0000ff">="Password"</span>
              <span style="color: #ff0000">serializeAs</span>
              <span style="color: #0000ff">="String"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 11:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">value</span>
              <span style="color: #0000ff">/&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">setting</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 13:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">setting</span>
              <span style="color: #ff0000">name</span>
              <span style="color: #0000ff">="IntegratedSecurity"</span>
              <span style="color: #ff0000">serializeAs</span>
              <span style="color: #0000ff">="String"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 14:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">value</span>
              <span style="color: #0000ff">&gt;</span>True<span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span></pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 15:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">setting</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 16:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">setting</span>
              <span style="color: #ff0000">name</span>
              <span style="color: #0000ff">="Database"</span>
              <span style="color: #ff0000">serializeAs</span>
              <span style="color: #0000ff">="String"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 17:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">value</span>
              <span style="color: #0000ff">&gt;</span>Zeiterfassung<span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span></pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 18:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">setting</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 19:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">setting</span>
              <span style="color: #ff0000">name</span>
              <span style="color: #0000ff">="User"</span>
              <span style="color: #ff0000">serializeAs</span>
              <span style="color: #0000ff">="String"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 20:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">value</span>
              <span style="color: #0000ff">/&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 21:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">setting</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 22:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">setting</span>
              <span style="color: #ff0000">name</span>
              <span style="color: #0000ff">="LocalBackupPath"</span>
              <span style="color: #ff0000">serializeAs</span>
              <span style="color: #0000ff">="String"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 23:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">value</span>
              <span style="color: #0000ff">&gt;</span>C:\Temp\DBSnapshots<span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span></pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 24:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">setting</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 25:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">setting</span>
              <span style="color: #ff0000">name</span>
              <span style="color: #0000ff">="Server"</span>
              <span style="color: #ff0000">serializeAs</span>
              <span style="color: #0000ff">="String"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 26:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">value</span>
              <span style="color: #0000ff">&gt;</span>MyServer<span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span></pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 27:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">setting</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 28:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">setting</span>
              <span style="color: #ff0000">name</span>
              <span style="color: #0000ff">="UNCBackupPath"</span>
              <span style="color: #ff0000">serializeAs</span>
              <span style="color: #0000ff">="String"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 29:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">value</span>
              <span style="color: #0000ff">&gt;</span>\\MyServer\DBSnapshots<span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span></pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 30:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">setting</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 31:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">SQLSnapshotTool.Properties.Settings</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 32:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">applicationSettings</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 33:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">configuration</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
          </div>
        </div>
        <p>
 
</p>
        <p>
Die wichtigsten Einstellungen hier kurz beschrieben:
</p>
        <p>
Zeile 11 : Das Kennwort für den Datenbankzugriff (kann leer sein, wenn integrated
Security verwendet wird)<br />
Zeile 14 : Angabe ob integrated Security verwendt werden soll.<br />
Zeile 17 : Name der Datenbank 
<br />
Zeile 20 : Name des Users (kann leer sein, wenn integrated Security verwendet wird)<br />
Zeile 23 : Der lokale Pfad auf dem DB-Server in den die Snapshots geschrieben werden
sollen<br />
Zeile 26 : Der Name des DB-Servers<br />
Zeile 29 : Der UNC-Pfad über den auf das Sbnapshot-Verzeichnis auf dem DB-Server vom
Client aus zugegriffen werden kann.
</p>
        <p>
Die Bedienung ist denkbar einfach. Man gibt einfach den Namen des gewünschten Snapshots
an und klickt auf "Create Snapshot". Damit wird eine Backup-Datei in das Snapshot-Verzeichnis
auf dem Server geschrieben. In der Liste sieht man alle BAK-Dateien aus dem Verzeichnis
und kann eine auswählen um diese dann wiederherzustellen. Das ganze ist so einfach,
dass sogar Anwender damit klarkommen.
</p>
        <p>
Eine Einschränkung gibt es, das Tool läuft nur mit dem SQL-Server.
</p>
        <p>
Wenn jemand das Tool nützlich findet, würde ich mich über ein kurzes Feedback freuen.
</p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:442e201f-431a-4c7e-b483-fb5a845c1420" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/SQLSnapshotTool_E144/SQLSnapshotTool.zip" target="_blank">Hier
kann das Tool heruntergeladen werden</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=971e427f-b4f6-4ff3-a115-c9ee34e6072b" />
      </body>
      <title>SQL Snapshot Tool</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,971e427f-b4f6-4ff3-a115-c9ee34e6072b.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,971e427f-b4f6-4ff3-a115-c9ee34e6072b.aspx</link>
      <pubDate>Fri, 16 May 2008 14:12:05 GMT</pubDate>
      <description>&lt;p&gt;
Für manuelle Tests muss man einen definierten Ausgangszustand schaffen um diese sinnvoll
durchführen zu können. Dieser Ausgangszustand bezieht sich meist auf eine Datenbank.
Um diesen Vorgang nun zu vereinfachen haben wir ein kleines Tool erstellt. Damit können
Snapshots von Datenbanken erstellt und wiederhergestellt werden.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/SQLSnapshotTool_E144/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="227" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/SQLSnapshotTool_E144/image_thumb.png" width="409" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Das Tool erstellt dazu einfach ein Backup der Datenbank und kann dieses Backup auch
wiederherstellen. Das ist sicher nicht extrem elegant, aber sehr einfach und praktikabel.
Damit das Tool funktioniert, muss man zunächst ein parr Einstellungen in der config
vornehmen:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="utf-8"&lt;/span&gt; ?&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;configuration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;configSections&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;sectionGroup&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="applicationSettings"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="System.Configuration.ApplicationSettingsGroup,
System, Version=2.0.0.0, Culture=neutral, 
&lt;br&gt;
PublicKeyToken=b77a5c561934e089"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;section&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="SQLSnapshotTool.Properties.Settings"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="System.Configuration.ClientSettingsSection,
System, Version=2.0.0.0, 
&lt;br&gt;
Culture=neutral, PublicKeyToken=b77a5c561934e089"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;requirePermission&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;sectionGroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;configSections&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;applicationSettings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SQLSnapshotTool.Properties.Settings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Password"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;serializeAs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="String"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 13:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="IntegratedSecurity"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;serializeAs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="String"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 14:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;True&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 15:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 16:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Database"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;serializeAs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="String"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 17:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Zeiterfassung&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 18:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 19:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="User"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;serializeAs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="String"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 20:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 21:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 22:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="LocalBackupPath"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;serializeAs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="String"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 23:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;C:\Temp\DBSnapshots&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 24:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 25:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Server"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;serializeAs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="String"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 26:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;MyServer&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 27:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 28:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="UNCBackupPath"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;serializeAs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="String"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 29:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;\\MyServer\DBSnapshots&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 30:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;setting&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 31:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;SQLSnapshotTool.Properties.Settings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 32:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;applicationSettings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 33:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;configuration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Die wichtigsten Einstellungen hier kurz beschrieben:
&lt;/p&gt;
&lt;p&gt;
Zeile 11 : Das Kennwort für den Datenbankzugriff (kann leer sein, wenn integrated
Security verwendet wird)&lt;br&gt;
Zeile 14 : Angabe ob integrated Security verwendt werden soll.&lt;br&gt;
Zeile 17 : Name der Datenbank 
&lt;br&gt;
Zeile 20 : Name des Users (kann leer sein, wenn integrated Security verwendet wird)&lt;br&gt;
Zeile 23 : Der lokale Pfad auf dem DB-Server in den die Snapshots geschrieben werden
sollen&lt;br&gt;
Zeile 26 : Der Name des DB-Servers&lt;br&gt;
Zeile 29 : Der UNC-Pfad über den auf das Sbnapshot-Verzeichnis auf dem DB-Server vom
Client aus zugegriffen werden kann.
&lt;/p&gt;
&lt;p&gt;
Die Bedienung ist denkbar einfach. Man gibt einfach den Namen des gewünschten Snapshots
an und klickt auf "Create Snapshot". Damit wird eine Backup-Datei in das Snapshot-Verzeichnis
auf dem Server geschrieben. In der Liste sieht man alle BAK-Dateien aus dem Verzeichnis
und kann eine auswählen um diese dann wiederherzustellen. Das ganze ist so einfach,
dass sogar Anwender damit klarkommen.
&lt;/p&gt;
&lt;p&gt;
Eine Einschränkung gibt es, das Tool läuft nur mit dem SQL-Server.
&lt;/p&gt;
&lt;p&gt;
Wenn jemand das Tool nützlich findet, würde ich mich über ein kurzes Feedback freuen.
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:442e201f-431a-4c7e-b483-fb5a845c1420" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/SQLSnapshotTool_E144/SQLSnapshotTool.zip" target="_blank"&gt;Hier
kann das Tool heruntergeladen werden&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=971e427f-b4f6-4ff3-a115-c9ee34e6072b" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,971e427f-b4f6-4ff3-a115-c9ee34e6072b.aspx</comments>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=5d9ed2bc-ed61-41c4-bfdc-4ff7b042366e</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,5d9ed2bc-ed61-41c4-bfdc-4ff7b042366e.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,5d9ed2bc-ed61-41c4-bfdc-4ff7b042366e.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=5d9ed2bc-ed61-41c4-bfdc-4ff7b042366e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Technologie kann auch Spaß machen und solche Demos würde ich mir gerne öfter wünschen.
Macht weiter so Jungs!
</p>
        <p>
Unbedingt anschauen!
</p>
        <p>
          <a href="http://blogs.msdn.com/dparys/archive/2008/05/09/yet-another-windows-live-demo-video.aspx">Dariusz
quatscht : Yet Another Windows Live Demo Video</a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=5d9ed2bc-ed61-41c4-bfdc-4ff7b042366e" />
      </body>
      <title>Eine absolut coole Pr&amp;auml;sentation</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,5d9ed2bc-ed61-41c4-bfdc-4ff7b042366e.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,5d9ed2bc-ed61-41c4-bfdc-4ff7b042366e.aspx</link>
      <pubDate>Fri, 16 May 2008 13:50:15 GMT</pubDate>
      <description>&lt;p&gt;
Technologie kann auch Spaß machen und solche Demos würde ich mir gerne öfter wünschen.
Macht weiter so Jungs!
&lt;/p&gt;
&lt;p&gt;
Unbedingt anschauen!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.msdn.com/dparys/archive/2008/05/09/yet-another-windows-live-demo-video.aspx"&gt;Dariusz
quatscht : Yet Another Windows Live Demo Video&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=5d9ed2bc-ed61-41c4-bfdc-4ff7b042366e" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,5d9ed2bc-ed61-41c4-bfdc-4ff7b042366e.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=05873727-e0af-4e9e-9702-8f12d3300e59</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,05873727-e0af-4e9e-9702-8f12d3300e59.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,05873727-e0af-4e9e-9702-8f12d3300e59.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=05873727-e0af-4e9e-9702-8f12d3300e59</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ich wollte aus Excel auf einen Webservice zugreifen. Also kurz gegoogelt (oder gelived
;-)), eigentlich gar nicht so schwer...
</p>
        <p>
Aber wie so oft liegt der Teufel im Detail und es waren doch ein paar Kleinigkeiten
zu beachten, deshalb hier nochmals der komplette Lösungsweg:
</p>
        <p>
Zunächst habe ich einen WebService erstellt, zum Testen was ganz triviales, eigentlich
das Webservice Template nur noch um den Parameter Name erweitert:
</p>
        <div>
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <span style="color: #0000ff">using</span> System; <span style="color: #0000ff">using</span> System.Web; <span style="color: #0000ff">using</span> System.Web.Services; <span style="color: #0000ff">using</span> System.Web.Services.Protocols;
[WebService(Namespace = <span style="color: #006080">"http://tempuri.org/"</span>)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] <span style="color: #0000ff">public</span><span style="color: #0000ff">class</span> Service
: System.Web.Services.WebService { <span style="color: #0000ff">public</span> Service
() { } [WebMethod] <span style="color: #0000ff">public</span><span style="color: #0000ff">string</span> HelloWorld(<span style="color: #0000ff">string</span> Name)
{ <span style="color: #0000ff">return</span><span style="color: #006080">"Hello World
"</span> + Name; } }</pre>
        </div>
        <p>
 
</p>
        <p>
Die URL um auf den Webservice mit ausgefülltem Parameter zuzugreifen lautet <a href="http://localhost:49408/WebSite2/Service.asmx/HelloWorld?Name=Test">http://localhost:49408/WebSite2/Service.asmx/HelloWorld?Name=Test</a>,
jedoch funktioniert das standardmäßig noch nicht. Wir müssen erst noch in der web.config
folgenden Eintrag hinzufügen:
</p>
        <div>
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <span style="color: #0000ff">&lt;</span>
            <span style="color: #800000">webServices</span>
            <span style="color: #0000ff">&gt;</span>
            <span style="color: #0000ff">&lt;</span>
            <span style="color: #800000">protocols</span>
            <span style="color: #0000ff">&gt;</span>
            <span style="color: #0000ff">&lt;</span>
            <span style="color: #800000">add</span>
            <span style="color: #ff0000">name</span>
            <span style="color: #0000ff">="HttpGet"</span>
            <span style="color: #0000ff">/&gt;</span>
            <span style="color: #0000ff">&lt;</span>
            <span style="color: #800000">add</span>
            <span style="color: #ff0000">name</span>
            <span style="color: #0000ff">="HttpPost"</span>
            <span style="color: #0000ff">/&gt;</span>
            <span style="color: #0000ff">&lt;/</span>
            <span style="color: #800000">protocols</span>
            <span style="color: #0000ff">&gt;</span>
            <span style="color: #0000ff">&lt;/</span>
            <span style="color: #800000">webServices</span>
            <span style="color: #0000ff">&gt;</span>
          </pre>
        </div>
        <p>
Nun bekommen wir mit diesem Aufruf den XML-Response des Webservices direkt zurückgegeben.
Nun wollen wir den Webservice aus VBA aufrufen. 
</p>
        <div>
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <span style="color: #0000ff">Sub</span> CallWebService() <span style="color: #0000ff">Dim</span> MSXML <span style="color: #0000ff">As</span><span style="color: #0000ff">New</span> MSXML2.DOMDocument <span style="color: #0000ff">Dim</span> strAnfrage <span style="color: #0000ff">As</span><span style="color: #0000ff">String</span> strAnfrage
= <span style="color: #006080">"http://localhost:49408/WebSite2/Service.asmx/HelloWorld?Name=Test"</span><span style="color: #0000ff">With</span> MSXML
.async = <span style="color: #0000ff">False</span> .preserveWhiteSpace = <span style="color: #0000ff">False</span> .validateOnParse
= <span style="color: #0000ff">True</span> .resolveExternals = <span style="color: #0000ff">False</span><span style="color: #0000ff">End</span><span style="color: #0000ff">With</span><span style="color: #0000ff">If</span> MSXML.Load(strAnfrage)
= <span style="color: #0000ff">True</span><span style="color: #0000ff">Then</span> Response
= MSXML.DocumentElement.Text <span style="color: #0000ff">Else</span> Response = <span style="color: #006080">"Fehler"</span><span style="color: #0000ff">End</span><span style="color: #0000ff">If</span><span style="color: #0000ff">End</span> Sub</pre>
        </div>
        <div> 
</div>
        <div>Damit das funktioniert müssen wir noch die Bibliothek "Microsoft XML, vx.0" einfügen.
Wir werten im Moment das XML-Dokument sehr einfach aus, da wir davon ausgehen, dass
der Rückgabewert einfach als Textim XML-Dokument zurückgegeben wird. Damit können
wir einfach mit MSXML.DocumentElement.Text den gewünschten Wert auslesen. Natürlich
können auf diese Weise auch komplexer Rückgabewerte ausgewertet werden, aber das wollen
wir hier nicht näher beleuchten.
</div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=05873727-e0af-4e9e-9702-8f12d3300e59" />
      </body>
      <title>Per VBA auf Webservices zugreifen</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,05873727-e0af-4e9e-9702-8f12d3300e59.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,05873727-e0af-4e9e-9702-8f12d3300e59.aspx</link>
      <pubDate>Sun, 11 May 2008 19:54:13 GMT</pubDate>
      <description>&lt;p&gt;
Ich wollte aus Excel auf einen Webservice zugreifen. Also kurz gegoogelt (oder gelived
;-)), eigentlich gar nicht so schwer...
&lt;/p&gt;
&lt;p&gt;
Aber wie so oft liegt der Teufel im Detail und es waren doch ein paar Kleinigkeiten
zu beachten, deshalb hier nochmals der komplette Lösungsweg:
&lt;/p&gt;
&lt;p&gt;
Zunächst habe ich einen WebService erstellt, zum Testen was ganz triviales, eigentlich
das Webservice Template nur noch um den Parameter Name erweitert:
&lt;/p&gt;
&lt;div&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web.Services; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web.Services.Protocols;
[WebService(Namespace = &lt;span style="color: #006080"&gt;"http://tempuri.org/"&lt;/span&gt;)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Service
: System.Web.Services.WebService { &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; Service
() { } [WebMethod] &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; HelloWorld(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Name)
{ &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"Hello World
"&lt;/span&gt; + Name; } }&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Die URL um auf den Webservice mit ausgefülltem Parameter zuzugreifen lautet &lt;a href="http://localhost:49408/WebSite2/Service.asmx/HelloWorld?Name=Test"&gt;http://localhost:49408/WebSite2/Service.asmx/HelloWorld?Name=Test&lt;/a&gt;,
jedoch funktioniert das standardmäßig noch nicht. Wir müssen erst noch in der web.config
folgenden Eintrag hinzufügen:
&lt;/p&gt;
&lt;div&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;webServices&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;protocols&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;add&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="HttpGet"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;add&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="HttpPost"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;protocols&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;webServices&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
Nun bekommen wir mit diesem Aufruf den XML-Response des Webservices direkt zurückgegeben.
Nun wollen wir den Webservice aus VBA aufrufen. 
&lt;/p&gt;
&lt;div&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;Sub&lt;/span&gt; CallWebService() &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; MSXML &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;New&lt;/span&gt; MSXML2.DOMDocument &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; strAnfrage &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;String&lt;/span&gt; strAnfrage
= &lt;span style="color: #006080"&gt;"http://localhost:49408/WebSite2/Service.asmx/HelloWorld?Name=Test"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;With&lt;/span&gt; MSXML
.async = &lt;span style="color: #0000ff"&gt;False&lt;/span&gt; .preserveWhiteSpace = &lt;span style="color: #0000ff"&gt;False&lt;/span&gt; .validateOnParse
= &lt;span style="color: #0000ff"&gt;True&lt;/span&gt; .resolveExternals = &lt;span style="color: #0000ff"&gt;False&lt;/span&gt; &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;With&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; MSXML.Load(strAnfrage)
= &lt;span style="color: #0000ff"&gt;True&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt; Response
= MSXML.DocumentElement.Text &lt;span style="color: #0000ff"&gt;Else&lt;/span&gt; Response = &lt;span style="color: #006080"&gt;"Fehler"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; Sub&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;Damit das funktioniert müssen wir noch die Bibliothek "Microsoft XML, vx.0" einfügen.
Wir werten im Moment das XML-Dokument sehr einfach aus, da wir davon ausgehen, dass
der Rückgabewert einfach als Textim XML-Dokument zurückgegeben wird. Damit können
wir einfach mit MSXML.DocumentElement.Text den gewünschten Wert auslesen. Natürlich
können auf diese Weise auch komplexer Rückgabewerte ausgewertet werden, aber das wollen
wir hier nicht näher beleuchten.
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=05873727-e0af-4e9e-9702-8f12d3300e59" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,05873727-e0af-4e9e-9702-8f12d3300e59.aspx</comments>
      <category>Excel;Tipps und Tricks</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=108b2c8d-3b7a-4030-b404-32d5107dac4c</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,108b2c8d-3b7a-4030-b404-32d5107dac4c.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,108b2c8d-3b7a-4030-b404-32d5107dac4c.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=108b2c8d-3b7a-4030-b404-32d5107dac4c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Verwendet man ein DataSet mit DateTime-Werten in unterschiedlichen Zeitzonen, wird
man zu seiner Überraschung feststellen, dass das DataSet eine Umrechnung der Zeiten
vornimmt. Bei uns war das Problem konkret, dass ein DataSet per WCF zu einem Service
übertragen wurde. Der Service war aber in einer anderen Zeitzone als der Client. In
einem DateTime-Feld wurde ein Datumswert abgelegt, also z.B. 08.05.2008. Die automtische
Umrechnung hat davon jedoch eine Stunde abgezogen, so dass am Service 07.05.2008 23:00
ankam. Damit war das Datum immer um einen Tag verschoben.
</p>
        <p>
Das Problem kann aber behoben werden, indem man auf dem Client und auf dem Service
den DateTime-Wert vor bzw. nach der Serialisierung konvertiert.
</p>
        <p>
Auf dem Client sieht das dann z.B. so aus:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">foreach</span> (DataSet1.DataTable1Row
dr <span style="color: #0000ff">in</span> ds.DataTable1.Rows)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span> dr.Date
= dr.Date.ToLocalTime();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span> }</pre>
          </div>
        </div>
        <p>
Und dann auf dem Service das Gegenstück:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">foreach</span> (DataSet1.DataTable1Row
dr <span style="color: #0000ff">in</span> ds.DataTable1.Rows)</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> {</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span> dr.Date
= dr.Date.ToUniversalTime();</pre>
            <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span> }</pre>
          </div>
        </div>
        <p>
Damit kommt genau der Wert, der im Client eingetragen wurde auch im Service an. Zwar
gibt es wohl auch eine Möglichkeit, die Datumskonvertierung zu unterdrücken, aber
das hat bei mir nicht sauber funktioniert. Wenn also jemand eine elegantere Lösung
kenn, nur her damit ;-)
</p>
        <p>
          <strong>Update:</strong>
        </p>
        <p>
Wir habe doch noch eine elegantere Lösung gefunden. Auf dem DataSet kann man auf der
DateTime Column das Property DateTimeMode auf Unspecified umstellen. Dann wird die
Zeitzonen-Konvertierung nicht durchgeführt. Danke an Luke für den Tipp.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ZeitzoneninDataSets_76BC/image_2.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="511" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ZeitzoneninDataSets_76BC/image_thumb.png" width="247" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=108b2c8d-3b7a-4030-b404-32d5107dac4c" />
      </body>
      <title>Zeitzonen in DataSets</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,108b2c8d-3b7a-4030-b404-32d5107dac4c.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,108b2c8d-3b7a-4030-b404-32d5107dac4c.aspx</link>
      <pubDate>Thu, 08 May 2008 06:36:13 GMT</pubDate>
      <description>&lt;p&gt;
Verwendet man ein DataSet mit DateTime-Werten in unterschiedlichen Zeitzonen, wird
man zu seiner Überraschung feststellen, dass das DataSet eine Umrechnung der Zeiten
vornimmt. Bei uns war das Problem konkret, dass ein DataSet per WCF zu einem Service
übertragen wurde. Der Service war aber in einer anderen Zeitzone als der Client. In
einem DateTime-Feld wurde ein Datumswert abgelegt, also z.B. 08.05.2008. Die automtische
Umrechnung hat davon jedoch eine Stunde abgezogen, so dass am Service 07.05.2008 23:00
ankam. Damit war das Datum immer um einen Tag verschoben.
&lt;/p&gt;
&lt;p&gt;
Das Problem kann aber behoben werden, indem man auf dem Client und auf dem Service
den DateTime-Wert vor bzw. nach der Serialisierung konvertiert.
&lt;/p&gt;
&lt;p&gt;
Auf dem Client sieht das dann z.B. so aus:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (DataSet1.DataTable1Row
dr &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; ds.DataTable1.Rows)&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; dr.Date
= dr.Date.ToLocalTime();&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Und dann auf dem Service das Gegenstück:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (DataSet1.DataTable1Row
dr &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; ds.DataTable1.Rows)&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; dr.Date
= dr.Date.ToUniversalTime();&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Damit kommt genau der Wert, der im Client eingetragen wurde auch im Service an. Zwar
gibt es wohl auch eine Möglichkeit, die Datumskonvertierung zu unterdrücken, aber
das hat bei mir nicht sauber funktioniert. Wenn also jemand eine elegantere Lösung
kenn, nur her damit ;-)
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Update:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Wir habe doch noch eine elegantere Lösung gefunden. Auf dem DataSet kann man auf der
DateTime Column das Property DateTimeMode auf Unspecified umstellen. Dann wird die
Zeitzonen-Konvertierung nicht durchgeführt. Danke an Luke für den Tipp.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ZeitzoneninDataSets_76BC/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="511" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ZeitzoneninDataSets_76BC/image_thumb.png" width="247" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=108b2c8d-3b7a-4030-b404-32d5107dac4c" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,108b2c8d-3b7a-4030-b404-32d5107dac4c.aspx</comments>
      <category>Tipps und Tricks</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=911f8480-1aa5-465e-9aae-96c0f121512f</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,911f8480-1aa5-465e-9aae-96c0f121512f.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,911f8480-1aa5-465e-9aae-96c0f121512f.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=911f8480-1aa5-465e-9aae-96c0f121512f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Microsoft ist ja ein Meister darin, das Thema Lizenzierung zu einer WIssenschaft zu
machen und inzwischen gibt es wohl Leute, die ihr Geld damit verdienen, Firmen durch
den Lizenz-Dschungel von MS zu führen. Für alle, die Fragen bezgl. der Lizenzierung
von Visual Studio Team System 2008 haben, sei dieses Dokument empfohlen. Fragen dazu
aber bitte nicht an mich ;-) 
</p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1FA86E00-F0A3-4290-9DA9-6E0378A3A3C5&amp;displaylang=en#filelist">Download
details: Visual Studio Team System Licensing</a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=911f8480-1aa5-465e-9aae-96c0f121512f" />
      </body>
      <title>Visual Studio Team System Licensing</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,911f8480-1aa5-465e-9aae-96c0f121512f.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,911f8480-1aa5-465e-9aae-96c0f121512f.aspx</link>
      <pubDate>Wed, 07 May 2008 15:56:09 GMT</pubDate>
      <description>&lt;p&gt;
Microsoft ist ja ein Meister darin, das Thema Lizenzierung zu einer WIssenschaft zu
machen und inzwischen gibt es wohl Leute, die ihr Geld damit verdienen, Firmen durch
den Lizenz-Dschungel von MS zu führen. Für alle, die Fragen bezgl. der Lizenzierung
von Visual Studio Team System 2008 haben, sei dieses Dokument empfohlen. Fragen dazu
aber bitte nicht an mich ;-) 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1FA86E00-F0A3-4290-9DA9-6E0378A3A3C5&amp;amp;displaylang=en#filelist"&gt;Download
details: Visual Studio Team System Licensing&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=911f8480-1aa5-465e-9aae-96c0f121512f" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,911f8480-1aa5-465e-9aae-96c0f121512f.aspx</comments>
      <category>Team System Server</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=4fbc8e31-c8b9-4037-b401-2163ba095dfe</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,4fbc8e31-c8b9-4037-b401-2163ba095dfe.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,4fbc8e31-c8b9-4037-b401-2163ba095dfe.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=4fbc8e31-c8b9-4037-b401-2163ba095dfe</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blog.alexonasp.net/Default.aspx">Alex</a> beschreibt in seinem Artiekel
eine sehr elegante Möglichkeit, wie man vermeiden kann, dass bei Continous Integration
Checkins durch den Build einen erneuten Build auslösen.
</p>
        <p>
          <a href="http://blog.alexonasp.net/archive/2008/05/01/team-foundation-server-2008-mit-assemblyversion-task---rekursive-builds.aspx">Team
Foundation Server 2008 mit AssemblyVersion Task - rekursive Builds vermeiden</a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=4fbc8e31-c8b9-4037-b401-2163ba095dfe" />
      </body>
      <title>Team Foundation Server 2008 mit AssemblyVersion Task - rekursive Builds vermeiden</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,4fbc8e31-c8b9-4037-b401-2163ba095dfe.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,4fbc8e31-c8b9-4037-b401-2163ba095dfe.aspx</link>
      <pubDate>Mon, 05 May 2008 06:23:37 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blog.alexonasp.net/Default.aspx"&gt;Alex&lt;/a&gt; beschreibt in seinem Artiekel
eine sehr elegante Möglichkeit, wie man vermeiden kann, dass bei Continous Integration
Checkins durch den Build einen erneuten Build auslösen.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.alexonasp.net/archive/2008/05/01/team-foundation-server-2008-mit-assemblyversion-task---rekursive-builds.aspx"&gt;Team
Foundation Server 2008 mit AssemblyVersion Task - rekursive Builds vermeiden&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=4fbc8e31-c8b9-4037-b401-2163ba095dfe" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,4fbc8e31-c8b9-4037-b401-2163ba095dfe.aspx</comments>
      <category>Team System Server</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=ca05fb23-29fb-4f79-b02f-43d800b1bf22</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,ca05fb23-29fb-4f79-b02f-43d800b1bf22.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,ca05fb23-29fb-4f79-b02f-43d800b1bf22.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=ca05fb23-29fb-4f79-b02f-43d800b1bf22</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Die Videos zu den Sessions vom Launch-Event in Frankfurt im Februar sind jetzt für
alle frei verfügbar. 
</p>
        <p>
Ich hatte ja die Möglichkeit, am Ende einer Session von <a href="http://blogs.msdn.com/cbinder" target="_blank">Christian
Binder</a> kurz vorzustellen, wie wir den TFS in unserem Entwicklungsprozess nutzen. 
</p>
        <p>
Das Video kann man <a href="http://www.microsoft.com/germany/msdn/launch2008/library.aspx?id=T04_MI_1100" target="_blank">hier</a> abrufen.
Mein Einsatz beginnt dann ab der Minute 54. Mein Video, das ich in dem Vortrag nutze,
kann <a href="http://www.artiso.com/ProBlog/ct.ashx?id=944da1ef-2f47-4857-824e-bd30586abd58&amp;url=http%3a%2f%2fwww.artiso.com%2fdownloads%2fartisoWebCastTeil1.wmv" target="_blank">hier</a> heruntergeladen
werden.<br />
War echt ne coole Sache vor mehr als 500 Leuten zu reden. 
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VisualStudio2008TeamSystem2008berblick_2514/image_2.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="277" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VisualStudio2008TeamSystem2008berblick_2514/image_thumb.png" width="546" border="0" />
          </a>
        </p>
        <p>
          <a href="http://www.microsoft.com/germany/msdn/launch2008/library.aspx?id=T04_MI_1100">Visual
Studio 2008 Team System 2008 - {Überblick}</a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=ca05fb23-29fb-4f79-b02f-43d800b1bf22" />
      </body>
      <title>Visual Studio 2008 Team System 2008 - {&amp;Uuml;berblick}</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,ca05fb23-29fb-4f79-b02f-43d800b1bf22.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,ca05fb23-29fb-4f79-b02f-43d800b1bf22.aspx</link>
      <pubDate>Thu, 01 May 2008 00:48:48 GMT</pubDate>
      <description>&lt;p&gt;
Die Videos zu den Sessions vom Launch-Event in Frankfurt im Februar sind jetzt für
alle frei verfügbar. 
&lt;/p&gt;
&lt;p&gt;
Ich hatte ja die Möglichkeit, am Ende einer Session von &lt;a href="http://blogs.msdn.com/cbinder" target="_blank"&gt;Christian
Binder&lt;/a&gt; kurz vorzustellen, wie wir den TFS in unserem Entwicklungsprozess nutzen. 
&lt;/p&gt;
&lt;p&gt;
Das Video kann man &lt;a href="http://www.microsoft.com/germany/msdn/launch2008/library.aspx?id=T04_MI_1100" target="_blank"&gt;hier&lt;/a&gt; abrufen.
Mein Einsatz beginnt dann ab der Minute 54. Mein Video, das ich in dem Vortrag nutze,
kann &lt;a href="http://www.artiso.com/ProBlog/ct.ashx?id=944da1ef-2f47-4857-824e-bd30586abd58&amp;amp;url=http%3a%2f%2fwww.artiso.com%2fdownloads%2fartisoWebCastTeil1.wmv" target="_blank"&gt;hier&lt;/a&gt; heruntergeladen
werden.&lt;br&gt;
War echt ne coole Sache vor mehr als 500 Leuten zu reden. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VisualStudio2008TeamSystem2008berblick_2514/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="277" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/VisualStudio2008TeamSystem2008berblick_2514/image_thumb.png" width="546" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/germany/msdn/launch2008/library.aspx?id=T04_MI_1100"&gt;Visual
Studio 2008 Team System 2008 - {Überblick}&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=ca05fb23-29fb-4f79-b02f-43d800b1bf22" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,ca05fb23-29fb-4f79-b02f-43d800b1bf22.aspx</comments>
      <category>Team System Server;Vorträge</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=bf95c4fc-a44a-40d1-b905-13eefe04be22</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,bf95c4fc-a44a-40d1-b905-13eefe04be22.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,bf95c4fc-a44a-40d1-b905-13eefe04be22.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=bf95c4fc-a44a-40d1-b905-13eefe04be22</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Welche Funktion finde ich in welcher Edition von Visual Studio? Wie unterscheiden
sich VS Standard und VS Professional? Wann brauche ich eine Team Edition?
</p>
        <p>
Fragen wie diese beantwortet die Visual Studio Product Comparison.
</p>
        <p>
          <a href="http://msdn.microsoft.com/en-us/vstudio/products/cc149003.aspx">Visual Studio
2008 Product Comparison</a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=bf95c4fc-a44a-40d1-b905-13eefe04be22" />
      </body>
      <title>Visual Studio 2008 Product Comparison</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,bf95c4fc-a44a-40d1-b905-13eefe04be22.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,bf95c4fc-a44a-40d1-b905-13eefe04be22.aspx</link>
      <pubDate>Wed, 30 Apr 2008 23:04:12 GMT</pubDate>
      <description>&lt;p&gt;
Welche Funktion finde ich in welcher Edition von Visual Studio? Wie unterscheiden
sich VS Standard und VS Professional? Wann brauche ich eine Team Edition?
&lt;/p&gt;
&lt;p&gt;
Fragen wie diese beantwortet die Visual Studio Product Comparison.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/en-us/vstudio/products/cc149003.aspx"&gt;Visual Studio
2008 Product Comparison&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=bf95c4fc-a44a-40d1-b905-13eefe04be22" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,bf95c4fc-a44a-40d1-b905-13eefe04be22.aspx</comments>
      <category>VS 2008</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=26b94f90-0250-450d-9d3d-0a850b34754e</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,26b94f90-0250-450d-9d3d-0a850b34754e.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,26b94f90-0250-450d-9d3d-0a850b34754e.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=26b94f90-0250-450d-9d3d-0a850b34754e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Beim Checkin in den TFS können beim Checkin Workitems verknüpft werden. Hier können
standardäßig zwei verschiedene Chck-In Actions ausgewählt werden. Associate verknüpft
den Checkin nur mit dem Workitem währen Resolve das Workitem auf geschlossen setzt.
Vor allem wenn man Workuiems mit größerem Umfang plant, kann es vorkommen, dass man
als Default-Einstellung Associate haben möchte statt Resolve. Leider funktioniert
das nicht so. Einen Workaround stellt Martin Woodward vor. Mit seiner Methode wird
Resolved einfach aus den Check-In Actions entfernt und damit Associate automatisch
als Default-Wert verwendet. Der Nachteil bei dieser Lösung: Man muss die Workitems
außerhalb des Checkin-Prozesses auf Resolved setzen. Das ist nicht besonders schön,
aber momentan leider die einzige Möglichkeit das Standard-Verhalten zu ändern.
</p>
        <p>
          <img alt="A bug with the Resolve and Associate actions displayed.  Resolve is the default." src="http://www.woodwardweb.com/blog/remove_resolve.png" border="0" /> 
</p>
        <p>
          <a href="http://www.woodwardweb.com/vsts/000230.html">Martin Woodward: TFS Top Tip
#3: Removing the Resolve Check-In Action from a Work Item</a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=26b94f90-0250-450d-9d3d-0a850b34754e" />
      </body>
      <title>&amp;Auml;ndern der Default-Action f&amp;uuml;r Workitems beim Checkin</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,26b94f90-0250-450d-9d3d-0a850b34754e.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,26b94f90-0250-450d-9d3d-0a850b34754e.aspx</link>
      <pubDate>Wed, 30 Apr 2008 22:31:52 GMT</pubDate>
      <description>&lt;p&gt;
Beim Checkin in den TFS können beim Checkin Workitems verknüpft werden. Hier können
standardäßig zwei verschiedene Chck-In Actions ausgewählt werden. Associate verknüpft
den Checkin nur mit dem Workitem währen Resolve das Workitem auf geschlossen setzt.
Vor allem wenn man Workuiems mit größerem Umfang plant, kann es vorkommen, dass man
als Default-Einstellung Associate haben möchte statt Resolve. Leider funktioniert
das nicht so. Einen Workaround stellt Martin Woodward vor. Mit seiner Methode wird
Resolved einfach aus den Check-In Actions entfernt und damit Associate automatisch
als Default-Wert verwendet. Der Nachteil bei dieser Lösung: Man muss die Workitems
außerhalb des Checkin-Prozesses auf Resolved setzen. Das ist nicht besonders schön,
aber momentan leider die einzige Möglichkeit das Standard-Verhalten zu ändern.
&lt;/p&gt;
&lt;p&gt;
&lt;img alt="A bug with the Resolve and Associate actions displayed.  Resolve is the default." src="http://www.woodwardweb.com/blog/remove_resolve.png" border="0"&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.woodwardweb.com/vsts/000230.html"&gt;Martin Woodward: TFS Top Tip
#3: Removing the Resolve Check-In Action from a Work Item&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=26b94f90-0250-450d-9d3d-0a850b34754e" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,26b94f90-0250-450d-9d3d-0a850b34754e.aspx</comments>
      <category>Team System Server</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=ac50af5a-73d1-4363-b253-c1d8d2aab6d7</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,ac50af5a-73d1-4363-b253-c1d8d2aab6d7.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,ac50af5a-73d1-4363-b253-c1d8d2aab6d7.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=ac50af5a-73d1-4363-b253-c1d8d2aab6d7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Oft hat man einen bestimmten Ordner, auf den man of zugreifen muss. Hier ist mir nun
ein Feature von Vista aufgefallen (gab es wohl auch schon in früheren Windows-Versionen,
aber da habe ich das gar nicht bemerkt). Man kann Toolbars einrichten und diese einfach
oben, rechts oder links am Desktop andocken. Mit der AutoHide-Funktion benötigen die
Toolbars auch keinen unnötigen Platz. Ein nettes Feature, das ich bei meinen Vorträgen
gut gebrauchen kann.
</p>
        <p>
Das Video zeigt, wie's gemacht wird.
</p>
        <object codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" height="545" standby="Loading Microsoft Windows Media Player components..." width="640" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" name="Video">
          <param name="URL" value="http://content.screencast.com/?parameters=13468270-6754-4344-9ff3-f146231886ff_12328d41-dda7-4a1d-bd38-17794493e326_static_1048576_video/x-ms-wmv_DockingToolbar_media/DockingToolbar.wmv" />
          <param name="rate" value="1" />
          <param name="balance" value="0" />
          <param name="currentPosition" value="0" />
          <param name="defaultFrame" value="" />
          <param name="playCount" value="1" />
          <param name="autoStart" value="0" />
          <param name="currentMarker" value="0" />
          <param name="invokeURLs" value="-1" />
          <param name="baseURL" value="" />
          <param name="volume" value="50" />
          <param name="mute" value="0" />
          <param name="uiMode" value="full" />
          <param name="stretchToFit" value="0" />
          <param name="windowlessVideo" value="0" />
          <param name="enabled" value="-1" />
          <param name="enableContextMenu" value="-1" />
          <param name="fullScreen" value="0" />
          <param name="SAMIStyle" value="" />
          <param name="SAMILang" value="" />
          <param name="SAMIFilename" value="" />
          <param name="captioningID" value="" />
          <param name="enableErrorDialogs" value="0" />
          <param name="_cx" value="16933" />
          <param name="_cy" value="14420" />
          <embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/?parameters=13468270-6754-4344-9ff3-f146231886ff_12328d41-dda7-4a1d-bd38-17794493e326_static_1048576_video/x-ms-wmv_DockingToolbar_media/DockingToolbar.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="640" height="545">
          </embed>
        </object>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=ac50af5a-73d1-4363-b253-c1d8d2aab6d7" />
      </body>
      <title>Toolbars unter Vista am Desktop docken</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,ac50af5a-73d1-4363-b253-c1d8d2aab6d7.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,ac50af5a-73d1-4363-b253-c1d8d2aab6d7.aspx</link>
      <pubDate>Wed, 30 Apr 2008 06:58:27 GMT</pubDate>
      <description>&lt;p&gt;
Oft hat man einen bestimmten Ordner, auf den man of zugreifen muss. Hier ist mir nun
ein Feature von Vista aufgefallen (gab es wohl auch schon in früheren Windows-Versionen,
aber da habe ich das gar nicht bemerkt). Man kann Toolbars einrichten und diese einfach
oben, rechts oder links am Desktop andocken. Mit der AutoHide-Funktion benötigen die
Toolbars auch keinen unnötigen Platz. Ein nettes Feature, das ich bei meinen Vorträgen
gut gebrauchen kann.
&lt;/p&gt;
&lt;p&gt;
Das Video zeigt, wie's gemacht wird.
&lt;/p&gt;
&lt;object codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" height="545" standby="Loading Microsoft Windows Media Player components..." width="640" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" name="Video"&gt;
&lt;param name="URL" value="http://content.screencast.com/?parameters=13468270-6754-4344-9ff3-f146231886ff_12328d41-dda7-4a1d-bd38-17794493e326_static_1048576_video/x-ms-wmv_DockingToolbar_media/DockingToolbar.wmv"&gt;
&lt;param name="rate" value="1"&gt;
&lt;param name="balance" value="0"&gt;
&lt;param name="currentPosition" value="0"&gt;
&lt;param name="defaultFrame" value=""&gt;
&lt;param name="playCount" value="1"&gt;
&lt;param name="autoStart" value="0"&gt;
&lt;param name="currentMarker" value="0"&gt;
&lt;param name="invokeURLs" value="-1"&gt;
&lt;param name="baseURL" value=""&gt;
&lt;param name="volume" value="50"&gt;
&lt;param name="mute" value="0"&gt;
&lt;param name="uiMode" value="full"&gt;
&lt;param name="stretchToFit" value="0"&gt;
&lt;param name="windowlessVideo" value="0"&gt;
&lt;param name="enabled" value="-1"&gt;
&lt;param name="enableContextMenu" value="-1"&gt;
&lt;param name="fullScreen" value="0"&gt;
&lt;param name="SAMIStyle" value=""&gt;
&lt;param name="SAMILang" value=""&gt;
&lt;param name="SAMIFilename" value=""&gt;
&lt;param name="captioningID" value=""&gt;
&lt;param name="enableErrorDialogs" value="0"&gt;
&lt;param name="_cx" value="16933"&gt;
&lt;param name="_cy" value="14420"&gt;
&lt;embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/?parameters=13468270-6754-4344-9ff3-f146231886ff_12328d41-dda7-4a1d-bd38-17794493e326_static_1048576_video/x-ms-wmv_DockingToolbar_media/DockingToolbar.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="640" height="545"&gt;&lt;/embed&gt; 
&lt;/object&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=ac50af5a-73d1-4363-b253-c1d8d2aab6d7" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,ac50af5a-73d1-4363-b253-c1d8d2aab6d7.aspx</comments>
      <category>Tipps und Tricks</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=06176a3b-2e17-4536-bb42-bc2ca6bf127d</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,06176a3b-2e17-4536-bb42-bc2ca6bf127d.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,06176a3b-2e17-4536-bb42-bc2ca6bf127d.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=06176a3b-2e17-4536-bb42-bc2ca6bf127d</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Auch wenn das unter dem Gesichtspunkt Traceability äußerst problematisch ist, gibt
es im TFS 2008 die Möglichkeit Workitems zu löschen - ein Feature das oftmals gefordert
wurde. Dazu benötigt man die <a href="http://msdn2.microsoft.com/en-us/tfs2008/bb980963.aspx" target="_blank">TFS
Powertools</a>. Danach kann man mit folgendem Befehl ein Workitem löschen:
</p>
        <p>
          <font face="Courier New" size="2">tfpt destroywi /server:sartfsx01 /workitemID:8719</font>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=06176a3b-2e17-4536-bb42-bc2ca6bf127d" />
      </body>
      <title>TFS Workitems l&amp;ouml;schen</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,06176a3b-2e17-4536-bb42-bc2ca6bf127d.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,06176a3b-2e17-4536-bb42-bc2ca6bf127d.aspx</link>
      <pubDate>Tue, 29 Apr 2008 20:27:44 GMT</pubDate>
      <description>&lt;p&gt;
Auch wenn das unter dem Gesichtspunkt Traceability äußerst problematisch ist, gibt
es im TFS 2008 die Möglichkeit Workitems zu löschen - ein Feature das oftmals gefordert
wurde. Dazu benötigt man die &lt;a href="http://msdn2.microsoft.com/en-us/tfs2008/bb980963.aspx" target="_blank"&gt;TFS
Powertools&lt;/a&gt;. Danach kann man mit folgendem Befehl ein Workitem löschen:
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size="2"&gt;tfpt destroywi /server:sartfsx01 /workitemID:8719&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=06176a3b-2e17-4536-bb42-bc2ca6bf127d" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,06176a3b-2e17-4536-bb42-bc2ca6bf127d.aspx</comments>
      <category>Team System Server</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=7f8c0fa5-9fad-49ff-be8b-512fbebaac4e</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,7f8c0fa5-9fad-49ff-be8b-512fbebaac4e.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,7f8c0fa5-9fad-49ff-be8b-512fbebaac4e.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=7f8c0fa5-9fad-49ff-be8b-512fbebaac4e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In Kürze wird wohl das SP1 zum Team Foundation Server als Beta veröffentlich. Brian
Harry beschreibt schon mal ein paar Fetures auf di wir uns freuen dürfen.
</p>
        <p>
          <a href="http://blogs.msdn.com/bharry/archive/2008/04/28/team-foundation-server-2008-sp1.aspx">bharry's
WebLog : Team Foundation Server 2008 SP1 Preview</a>
        </p>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=7f8c0fa5-9fad-49ff-be8b-512fbebaac4e" />
      </body>
      <title>Ausblick :  Team Foundation Server 2008 SP1</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,7f8c0fa5-9fad-49ff-be8b-512fbebaac4e.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,7f8c0fa5-9fad-49ff-be8b-512fbebaac4e.aspx</link>
      <pubDate>Mon, 28 Apr 2008 22:37:00 GMT</pubDate>
      <description>&lt;p&gt;
In Kürze wird wohl das SP1 zum Team Foundation Server als Beta veröffentlich. Brian
Harry beschreibt schon mal ein paar Fetures auf di wir uns freuen dürfen.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.msdn.com/bharry/archive/2008/04/28/team-foundation-server-2008-sp1.aspx"&gt;bharry's
WebLog : Team Foundation Server 2008 SP1 Preview&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=7f8c0fa5-9fad-49ff-be8b-512fbebaac4e" /&gt;</description>
      <comments>http://www.artiso.com/ProBlog/CommentView,guid,7f8c0fa5-9fad-49ff-be8b-512fbebaac4e.aspx</comments>
      <category>Team System Server</category>
    </item>
    <item>
      <trackback:ping>http://www.artiso.com/ProBlog/Trackback.aspx?guid=0c7ebdcc-1597-4f5f-a590-a7776713a508</trackback:ping>
      <pingback:server>http://www.artiso.com/ProBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.artiso.com/ProBlog/PermaLink,guid,0c7ebdcc-1597-4f5f-a590-a7776713a508.aspx</pingback:target>
      <dc:creator>Thomas Schissler</dc:creator>
      <wfw:comment>http://www.artiso.com/ProBlog/CommentView,guid,0c7ebdcc-1597-4f5f-a590-a7776713a508.aspx</wfw:comment>
      <wfw:commentRss>http://www.artiso.com/ProBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=0c7ebdcc-1597-4f5f-a590-a7776713a508</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ich war in den letzten Tagen auf der <a href="http://www.teamconf.de/" target="_blank">TeamConf
2008</a> in München. Es war sehr schön zu sehen, dass Team System inzwischen recht
gut etabliert. Es gab auf dieser Konferenz eine ganze Reihe von Praxisberichten die
darstellten, welche Erfahrungen Anwender bereits mit Team System gesammelt haben.
Und es war sehr interessant, mit vielen Leuten aus dem ALM-Umfeld zu diskutieren.
Ein persönliches Highlight war für mich, ein Treffen mit Sam Guckenheimer, Group Product
Planner bei Microsoft, der sich unseren WorkitemManager angesehen hat und mit dem
ich einige Ideen diskutieren konnte.
</p>
        <p>
          <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/P1010021.jpg">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="238" alt="P1010021" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/P1010021_thumb.jpg" width="316" border="0" />
          </a>
        </p>
        <p>
Ich habe auf der TeamConf einen Vortrag zu Programmierung mit dem TFS API am Beispiel
einer hierarchsichen Workitem-Organisation gehalten. 
</p>
        <p>
        </p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:f66ad4fd-88b9-481f-b65e-1a12d8c63629" style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">
          <p>
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/TFS%20SDK.pptx" target="_blank">Download
Folien</a>
            <br />
            <a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/TeamConf2008Rckblick_98F/WIM%20Lite.zip" target="_blank">Download
Beispielcode</a>
          </p>
        </div>
        <img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=0c7ebdcc-1597-4f5f-a590-a7776713a508" />
      </body>
      <title>TeamConf 2008 R&amp;uuml;ckblick</title>
      <guid isPermaLink="false">http://www.artiso.com/ProBlog/PermaLink,guid,0c7ebdcc-1597-4f5f-a590-a7776713a508.aspx</guid>
      <link>http://www.artiso.com/ProBlog/PermaLink,guid,0c7ebdcc-1597-4f5f-a590-a7776713a508.aspx</link>
      <pubDate>Thu, 24 Apr 2008 22:57:49 GMT</pubDate>
      <description>&lt;p&gt;
Ich war in den letzten Tagen auf der &lt;a href="http://www.teamconf.de/" target=_blank&gt;TeamConf
2008&lt;/a&gt; in München. Es war sehr schön zu sehen, dass Team System inzwischen recht
gut etabliert. Es gab auf dieser Konferenz eine ganze Reihe von Praxisberichten die
darstellten, welche Erfahrungen Anwender bereits mit Team System gesammelt haben.
Und es war sehr interessant, mit vielen Leuten aus dem ALM-Umfeld zu diskutieren.
Ein persönliches Highlight war für mich, ein Treffen mit Sam Guckenheimer, Group Product
Planner bei Microsoft, der sich unseren WorkitemManager angesehen hat und mit dem
ich einige Ideen diskutieren konnt