<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Unknown Tales From Kerem Kusmezer</title><subtitle type="html" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/atom.aspx</id><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/default.aspx" /><link rel="self" type="application/atom+xml" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/atom.aspx" /><generator uri="http://communityserver.org" version="2.0.60217.2664">Community Server</generator><updated>2006-08-31T08:32:00Z</updated><entry><title>NetMassdownloader version 1.4 Is oUT</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2008/08/30/3056.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="277091" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/attachment/3056.ashx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2008/08/30/3056.aspx</id><published>2008-08-30T08:39:00Z</published><updated>2008-08-30T08:39:00Z</updated><content type="html">&lt;P&gt;Hi Guys :)&lt;/P&gt;
&lt;P&gt;I have updated netmassdownloader to version 1.4 , which supports downloading of the VS2008 SP1 source codes.&lt;/P&gt;
&lt;P&gt;So what are you waiting for, grab your copy from &lt;A href="http://www.codeplex.com/netmassdownloader"&gt;http://www.codeplex.com/netmassdownloader&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Or directly from this post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=3056" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>.NET Mass Downloader 1.2 Released</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2008/02/26/854.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2008/02/26/854.aspx</id><published>2008-02-26T17:57:00Z</published><updated>2008-02-26T17:57:00Z</updated><content type="html">&lt;DIV class=postcontent&gt;
&lt;P&gt;I have been busy! If you've had problems with &lt;A href="http://www.codeplex.com/NetMassDownloader"&gt;.NET Mass Downloader&lt;/A&gt; working behind a proxy server, version 1.2 adds the –proxy command line switch if you need to specify server, username, password, and domain. &lt;/P&gt;
&lt;P&gt;The –proxy switch uses the following form: &lt;SPAN&gt;server|username|password|domainname&lt;/SPAN&gt;. &lt;/P&gt;
&lt;P&gt;Also, .NET Mass Downloader works just fine with the Visual Studio Express versions. See&amp;nbsp;my article on &lt;A class="" href="http://www.codeproject.com/KB/dotnet/netmassdownloader.aspx"&gt;CodeProject&lt;/A&gt; on how to get the .NET Reference Source with Visual Studio Express.&lt;/P&gt;
&lt;P&gt;Please let us know if you are still having proxy problems, or any other problems with .NET Mass Downloader.&lt;/P&gt;
&lt;P&gt;P.S: Don't forget to vote for us :)&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=854" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>.Net Framework Version Numbers So Far And Supported Versions By NetMassDownloader</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2008/02/26/853.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2008/02/26/853.aspx</id><published>2008-02-26T17:54:00Z</published><updated>2008-02-26T17:54:00Z</updated><content type="html">&lt;P&gt;Back again :) In the following list you can see whole version released until today.&lt;/P&gt;
&lt;P&gt;If you own one of the bold ones, .Net MassDownloader supports them whole. &lt;/P&gt;
&lt;P&gt;Version Name Version Number Release Date &lt;BR&gt;Pre-beta ?.?.????.? 2000-07-11 &lt;BR&gt;1.0 Beta 1 1.0.????.0 November 2000 &lt;BR&gt;1.0 Beta 2 1.0.2914.0 2001-06-20 &lt;BR&gt;1.0 RTM 1.0.3705.0 2002-01-05 &lt;BR&gt;1.0 SP1 1.0.3705.209 2002-03-19 &lt;BR&gt;1.0 SP2 1.0.3705.288 2002-08-07 &lt;BR&gt;1.0 SP3 1.0.3705.6018 2004-08-31 &lt;BR&gt;1.1 RTM 1.1.4322.573 2003-04-01 &lt;BR&gt;1.1 SP1 1.1.4322.2032 2004-08-30 &lt;BR&gt;1.1 SP1 (W2k3) 1.1.4322.2300 2005-03-30 &lt;BR&gt;1.1 KB893251 1.1.4322.2310 2005-03-25 &lt;BR&gt;1.1 KB927495 1.1.4322.2407 2007-02-21 &lt;BR&gt;2.0 RTM 2.0.50727.42 2005-11-07 &lt;BR&gt;2.0 RTM (Vista) 2.0.50727.312 2007-01-30 &lt;BR&gt;2.0 (KB928365) 2.0.50727.832 2007-07-10 &lt;BR&gt;&lt;B&gt;2.0 SP1 2.0.50727.1433 2007-11-19&lt;/B&gt;&lt;BR&gt;&lt;B&gt;2.0 SP1 (Windows Server 2008 and Windows Vista SP1) 2.0.50727.1434 &lt;A href="http://www.codeplex.com/NetMassDownloader/Wiki/View.aspx?title=%3f"&gt;?&lt;/A&gt;&lt;/B&gt;&lt;BR&gt;&lt;B&gt;3.0 RTM 3.0.4506.30 2006-11-06&lt;/B&gt;&lt;BR&gt;&lt;B&gt;3.0 RTM (Vista) 3.0.4506.26 2007-01-30&lt;/B&gt;&lt;BR&gt;&lt;B&gt;3.0 SP1 3.0.4506.648 2007-11-19&lt;/B&gt;&lt;BR&gt;&lt;B&gt;3.5 RTM 3.5.21022.8 2007-11-19&lt;/B&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=853" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>.NET Mass Downloader 1.1 Released </title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2008/02/08/821.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2008/02/08/821.aspx</id><published>2008-02-08T00:13:00Z</published><updated>2008-02-08T00:13:00Z</updated><content type="html">&lt;P&gt;The &lt;A href="http://www.wintellect.com/cs/blogs/jrobbins/archive/2008/02/06/download-all-the-net-reference-source-code-at-once-with-net-mass-downloader.aspx"&gt;feedback&lt;/A&gt; and downloads for &lt;A href="http://www.codeplex.com/NetMassDownloader"&gt;.Net Mass Downloader&lt;/A&gt; have been quite pleasing! Kerem and I just went through and fixed all the reported bugs so the 1.1 release is better than ever. The big fixes were that we now properly handle paths with spaces in them (see what happens when you have two old DOS guys doing a project!), and if you had trouble behind a proxy server, you shouldn't any more. As always, let us know if you find any problems or have feature requests. &lt;/P&gt;
&lt;P&gt;Just as a reminder, to download all the parts of the .NET Reference Source Code that Microsoft has released thus far, use the following command line (one line) on 32-bit: &lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;NetMassDownloader.exe -d "C:\Windows\Microsoft.Net\Framework\v2.0.50727" &lt;BR&gt;-d "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5" &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;The following command line is for 64-bit: &lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;NetMassDownloader.exe -d "C:\Windows\Microsoft.Net\Framework\v2.0.50727" &lt;BR&gt;-d "C:\Windows\Microsoft.Net\Framework64\v2.0.50727"&lt;BR&gt;-d "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5"&lt;BR&gt;-d "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5" &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;In the 64-bit example, Net Mass Downloader will do the right thing and only download the PDB files once if the same binaries are in different directories. &lt;/P&gt;
&lt;P&gt;Of course, with both command lines, if you want to use the source with Visual Studio 2005 or even &lt;A href="http://blog.marcocantu.com/blog/debugging_dotnet_source_radstudio.html"&gt;CodeGear's RAD Studio&lt;/A&gt; for you Delphi .NET fans, specify the –output option for the output directory. Follow the directions in the announcement &lt;A href="http://blog.marcocantu.com/blog/debugging_dotnet_source_radstudio.html"&gt;post&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Just so you're not surprised, because we bumped up the version number of Net Mass Downloader, you will see the EULA prompt again.&lt;/P&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=821" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>.Net Framework Mass Downloader</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2008/02/03/818.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2008/02/03/818.aspx</id><published>2008-02-03T11:21:00Z</published><updated>2008-02-03T11:21:00Z</updated><content type="html">&lt;P&gt;Welcome to the .NET Mass Downloader project. While it’s great that Microsoft has released the .NET Reference Source Code, you can only get it one file at a time while you’re debugging. If you’d like to batch download it for reading or to populate the cache, you’d have to write a program that instantiated and called each method in the Framework Class Library. Fortunately, .NET Mass Downloader comes to the rescue!&lt;/P&gt;
&lt;P&gt;The developed this project with John Robins, to enable mass downloading of .Net Framework Source Code without the need of VS2008, or to initialy populate your symbol server caches.&lt;/P&gt;
&lt;P&gt;The project includes the following classes , which also you can find usefull:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;A PE (Portable Executable)&amp;nbsp;Parser&lt;/STRONG&gt; : To Extract The Pdb Guids And Pdb Names from any given PE File. Developed by Kerem&amp;nbsp;Kusmezer. 
&lt;LI&gt;&lt;STRONG&gt;A PDB Parser And Patcher&lt;/STRONG&gt; : I can extract&amp;nbsp;whole streams&amp;nbsp;from a&amp;nbsp;pdb file, also patch every stream in a pdb file. Pure C# Code. Developed By Kerem Kusmezer. 
&lt;LI&gt;&lt;STRONG&gt;A Webclient Class&lt;/STRONG&gt;: Which allows direct connection&amp;nbsp;with the referencesources server of&amp;nbsp;Microsoft, also includes the 210 code parsing,&amp;nbsp;eula text parsing. Developed By Kerem Kusmezer 
&lt;LI&gt;&lt;STRONG&gt;SrcSrv class&lt;/STRONG&gt; &amp;nbsp;Which Parses the srcsrv files included in each pdbs, to extract the url and file mappings of each source code mentioned in the pdb file. Developed By Kerem Kusmezer 
&lt;LI&gt;&lt;STRONG&gt;Console Application:&lt;/STRONG&gt; Developed by John Robins, which encapsulates whole functionality and allows the download of the code using different parameters.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can download the project from : &lt;A href="http://www.codeplex.com/NetMassDownloader"&gt;http://www.codeplex.com/NetMassDownloader&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Using .NET Mass Downloader &lt;/H2&gt;
&lt;P&gt;Open a command or PowerShell prompt and navigate to where you extracted the current release. The tool itself is NetMassDownloader.exe and when run without parameters shows the following help screen:&lt;BR&gt;&lt;/P&gt;&lt;PRE&gt;.Net Mass Downloader 1.0.0.0 - (c) 2008 by Kerem Kusmezer, John Robbins
 
Batch download the Microsoft .NET Reference Source code.
 
Usage: NetMassDownloader [-file &amp;lt;file&amp;gt;]
                         [-directory &amp;lt;directory]
                         [-output &amp;lt;directory&amp;gt;]
                         [-vsver &amp;lt;version&amp;gt;]
                         [-force] [-nologo] [-verbose] [-?]
 
    -file      - Download an individual file's PDB and source code. You can
                 specify multiple file parameters. (Short -f).
    -directory - Download all the found PDB and source code for all files in
                 the specified directory. You can specify multiple
                 directory parameters (Short -d).
    -output    - The output directory for PDB and source files. The default
                 directory is the cache directory set in Visual Studio 2008.
                 By using the cache directory, you'll have the PDB and source
                 files available to Visual Studio 2008. However, to use the
                 .NET Reference Source Code with VS 2005, use the -output
                 switch and in the Options dialog, Debugging, Symbols property
                 page, add the specified output directory to the "Symbol file
                 (.pdb) locations." Also, add the directory to the Solution
                 Properties, Common Properties, Debug Source Files, Directories
                 containing source code location. The Visual Studio 2005
                 debugger will automatically load the source code. (Short -o)
    -vsver     - The Visual Studio version number to use for finding the cache
                 directory. The default is Visual Studio 2008,
                 but if you want to use the cache directory for Visual Studio
                 2005, you would pass '-vsver 8.0' (without quotes) (Short -vs)
    -force     - If specified, forces the downloading the PDB files into the
                 symbol server. When downloading to a symbol server if the PDB
                 exists, it's not downloaded. Using the -output switch will
                 always download and process the PDB. (Short -fo)
    -nologo    - Don't show the logo information. (Short -n)
    -verbose   - Do verbose output. May be worth turning on as the downloading
                 source code can take a long time. (Short -v)
    -?         - This help message.
&lt;/PRE&gt;
&lt;P&gt;The only required arguments are –file or –directory, both of which can be specified as many times as you’d like. When you specify a directory, only the .DLL and .EXE files from that directory will be processed. If you wanted to download all the source code from binaries in the .NET 2.0 32-bit and 64-bit directories, the command line you’d pass is: -d C:\Windows\Microsoft.NET\Framework\v2.0.50727 –d C:\Windows\Microsoft.NET\Framework64\v2.0.50727.&lt;BR&gt;&lt;BR&gt;The main purpose of Net Mass Downloader is to populate the source code download cache for debugging, the default download location is the cache you specified to Visual Studio 2008. The –vsver switch to account for future Visual Studio versions so Mass Downloader could work with future CTPs and versions. &lt;BR&gt;&lt;BR&gt;While it’s great to see the .NET Reference Source Code in Visual Studio 2008, there are a lot of developers out there who can’t upgrade yet, but would love to be able to debug into the .NET Reference Source Code. If you specify the -output parameter, the PDB and .NET Reference Source Code will be written to the specified directory. In Visual Studio 2005, place that directory in the Options dialog, Debugging, Symbols property page. In the “Symbol file (.pdb) locations” list box as the first item. Also in the Options dialog, Debugging, General property page, uncheck "Require source files to exactly match the original version." Finally, in each Visual Studio 2005 project go into the solution property pages, Common Properties, Debugging Source Files, and in the "Directories containing source code" add the output directory to the top of the list. That's enough for Visual Studio 2005 to debug into the .NET Reference Source Code.&lt;BR&gt;&lt;BR&gt;When you first run Net Mass Downloader, you will be prompted with the current EULA for accessing the source code. If you don’t agree with the Microsoft EULA, clicking the Decline button will not download the source code. &lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;H2&gt;Acknowledgements &lt;/H2&gt;
&lt;P&gt;Thanks to the Developer Division at Microsoft. First they released the .NET Reference Source Code, and second for allowing a couple of developers to have some fun and provide a utility for the community. Thank &lt;B&gt;you&lt;/B&gt; for using .NET Mass Downloader. We just ask that you log any bugs and features into the project Issue Tracker.&lt;BR&gt;&lt;BR&gt;If you have questions about particular pieces of the code, Kerem Kusmezer did the following parts: the PE (Portable Executable) Parser, the PDB Parser, the Webclient Class. and the SrcSrv class. John Robbins did the console driver, testing, and served as Kerem's code monkey.&lt;/P&gt;
&lt;P&gt;You can contact my via &lt;A href="mailto:keremskusmezer@gmail.com"&gt;keremskusmezer@gmail.com&lt;/A&gt; for requests and questions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=818" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>Great Project</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/11/16/470.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/11/16/470.aspx</id><published>2006-11-16T14:11:00Z</published><updated>2006-11-16T14:11:00Z</updated><content type="html">&lt;P&gt;Check out the following project from Codeplex.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.codeplex.com/SourceControl/DownloadSourceCode.aspx?ProjectName=Dynamic&amp;amp;changeSetId=10442"&gt;http://www.codeplex.com/SourceControl/DownloadSourceCode.aspx?ProjectName=Dynamic&amp;amp;changeSetId=10442&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Dynamic Reflection Library&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;The Dynamic Reflection Library is a small set of classes designed to greatly speed the use of .Net reflection to call constructors, member methods, property setters and getters including those with indexing arguments such as the Item (a.k.a. [] operator), and fields. &lt;BR&gt;&lt;BR&gt;The libary uses Lightweight Code Generation (LCG) to synthesize the minimum wrapper code to allow fully type-safe calls to arbitrary methods in any class through type-safe delgates. If appropriate runtime rights are available, these methods can even access private fields, methods and properties.&lt;BR&gt;&lt;BR&gt;All members may be bound by name, or MemberInfo with optional automatic type coercision of the delegate's arguments to the called-method's argmuents. It also will do type-signature mapping to allow you to match a desired delegate signature and method name to the best-fit method.&lt;BR&gt;&lt;BR&gt;Also included in this library is a DynamicCompare class, that generates a very-high performance IComparer method against any class for one or more fields/properties (with ascending/descending support). This allows you to generate the delegate to pass to Sort at runtime against a user-defined sort criteria and get near native speed.&lt;/P&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=470" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>.Net Framework 3.0 Released</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/11/16/469.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/11/16/469.aspx</id><published>2006-11-16T14:09:00Z</published><updated>2006-11-16T14:09:00Z</updated><content type="html">&lt;P&gt;Grab your copy from:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=469" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>Visual Studio 2005 Service Pack 1 Beta</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/11/16/468.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/11/16/468.aspx</id><published>2006-11-16T12:47:00Z</published><updated>2006-11-16T12:47:00Z</updated><content type="html">&lt;P&gt;Microsoft has release the beta version of the Service Pack 1 For Visual Studio 2005.&lt;/P&gt;
&lt;P&gt;You can get it from here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d702463-674b-4978-9e22-c989130f6553&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=8d702463-674b-4978-9e22-c989130f6553&amp;amp;DisplayLang=en&lt;/A&gt;&lt;/P&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=468" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>Little Wrapper To Control Ngen From Your Code</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/09/05/425.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/09/05/425.aspx</id><published>2006-09-05T09:04:00Z</published><updated>2006-09-05T09:04:00Z</updated><content type="html">&lt;P&gt;I wrote a little wrapper for Ngen .Net 2.0. It misses some features as ques , which will be implemented very soon.&lt;/P&gt;&lt;FONT color=#0000ff size=1&gt;
&lt;P&gt;Namespace&lt;/FONT&gt;&lt;FONT size=1&gt; CSFUpdater&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Public&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;NotInheritable&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Class&lt;/FONT&gt;&lt;FONT size=1&gt; NgenHelper&lt;/P&gt;
&lt;P&gt;#&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Region&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"Private Variables"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Const&lt;/FONT&gt;&lt;FONT size=1&gt; NGENPATH &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt; = &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"ngen.exe"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; NgenFullPath &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; ngenFound &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Boolean&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; resultCache &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; System.Text.StringBuilder&lt;/P&gt;
&lt;P&gt;#&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Region&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt;()&lt;/P&gt;
&lt;P&gt;NgenFullPath = &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"{0}{1}"&lt;/FONT&gt;&lt;FONT size=1&gt;, System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory, NGENPATH)&lt;/P&gt;
&lt;P&gt;ngenFound = (System.IO.File.Exists(NgenFullPath))&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt;()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Public&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; RegisterGivenDlls(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ParamArray&lt;/FONT&gt;&lt;FONT size=1&gt; fileName &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;()) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Public&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; UnRegisterGivenDlls(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ParamArray&lt;/FONT&gt;&lt;FONT size=1&gt; fileName &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;()) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Public&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; RegisterWholeApplicationDlls(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Optional&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; Debugable &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Boolean&lt;/FONT&gt;&lt;FONT size=1&gt; = &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;False&lt;/FONT&gt;&lt;FONT size=1&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; files() &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt; = System.IO.Directory.GetFiles(CSF.CO.ReflectionDynamicCompile.ReflectionUtilities.GetExecutingAssemblyPath, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"*.dll"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; registerCache &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; System.Text.StringBuilder()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Each&lt;/FONT&gt;&lt;FONT size=1&gt; file &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;In&lt;/FONT&gt;&lt;FONT size=1&gt; files&lt;/P&gt;
&lt;P&gt;registerCache.Append(StartGivenProcess(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;" install {0}{1}{2}"&lt;/FONT&gt;&lt;FONT size=1&gt;, Chr(34), file, Chr(34)), CSF.CO.ReflectionDynamicCompile.ReflectionUtilities.GetExecutingAssemblyPath))&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Catch&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; registerCache.ToString()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Public&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; UnRegisterWholeApplicationDlls(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Optional&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; Debugable &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Boolean&lt;/FONT&gt;&lt;FONT size=1&gt; = &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;False&lt;/FONT&gt;&lt;FONT size=1&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; files() &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt; = System.IO.Directory.GetFiles(CSF.CO.ReflectionDynamicCompile.ReflectionUtilities.GetExecutingAssemblyPath, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"*.dll"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; registerCache &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; System.Text.StringBuilder()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Each&lt;/FONT&gt;&lt;FONT size=1&gt; file &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;In&lt;/FONT&gt;&lt;FONT size=1&gt; files&lt;/P&gt;
&lt;P&gt;registerCache.Append(StartGivenProcess(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;" uninstall {0}{1}{2}"&lt;/FONT&gt;&lt;FONT size=1&gt;, Chr(34), file, Chr(34)), CSF.CO.ReflectionDynamicCompile.ReflectionUtilities.GetExecutingAssemblyPath))&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Catch&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; registerCache.ToString()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Public&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; RefreshNgenCache() &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; StartGivenProcess(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;" update"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; StartGivenProcess(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; commandLine &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; workingDirectory &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; startInfo &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; ProcessStartInfo&lt;/P&gt;
&lt;P&gt;resultCache = &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; System.Text.StringBuilder&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; runningProcess &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; Process&lt;/P&gt;
&lt;P&gt;startInfo = runningProcess.StartInfo&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/FONT&gt;&lt;FONT size=1&gt; startInfo&lt;/P&gt;
&lt;P&gt;.WindowStyle = ProcessWindowStyle.Hidden&lt;/P&gt;
&lt;P&gt;.RedirectStandardOutput = &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;True&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.RedirectStandardError = &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;True&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.UseShellExecute = &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;False&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;If&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Not&lt;/FONT&gt;&lt;FONT size=1&gt; (&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;.IsNullOrEmpty(workingDirectory)) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.WorkingDirectory = workingDirectory&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;AddHandler&lt;/FONT&gt;&lt;FONT size=1&gt; runningProcess.OutputDataReceived, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;AddressOf&lt;/FONT&gt;&lt;FONT size=1&gt; OutputDataReceived&lt;/P&gt;
&lt;P&gt;runningProcess.Start()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/FONT&gt;&lt;FONT size=1&gt; runningProcess&lt;/P&gt;
&lt;P&gt;.BeginOutputReadLine()&lt;/P&gt;
&lt;P&gt;.BeginErrorReadLine()&lt;/P&gt;
&lt;P&gt;.WaitForExit()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; resultCache.ToString()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/FONT&gt;&lt;FONT size=1&gt; OutputDataReceived(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; sender &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Object&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; e &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; System.Diagnostics.DataReceivedEventArgs)&lt;/P&gt;
&lt;P&gt;resultCache.Append(e.Data)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/FONT&gt;&lt;FONT size=1&gt; NgenLibraries()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; startInfo &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; ProcessStartInfo&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; ngenProcess &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; Process&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; files() &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt; = System.IO.Directory.GetFiles(CSF.CO.ReflectionDynamicCompile.ReflectionUtilities.GetExecutingAssemblyPath, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"*.dll"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Each&lt;/FONT&gt;&lt;FONT size=1&gt; file &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;In&lt;/FONT&gt;&lt;FONT size=1&gt; files&lt;/P&gt;
&lt;P&gt;startInfo = &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; ProcessStartInfo(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"{0}{1}"&lt;/FONT&gt;&lt;FONT size=1&gt;, System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory, NGENPATH), &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;" install {0}{1}{2}"&lt;/FONT&gt;&lt;FONT size=1&gt;, Chr(34), file, Chr(34)))&lt;/P&gt;
&lt;P&gt;startInfo.WorkingDirectory = CSF.CO.ReflectionDynamicCompile.ReflectionUtilities.GetExecutingAssemblyPath&lt;/P&gt;
&lt;P&gt;ngenProcess = Process.Start(startInfo)&lt;/P&gt;
&lt;P&gt;ngenProcess.WaitForExit()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Catch&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Catch&lt;/FONT&gt;&lt;FONT size=1&gt; ex &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; System.Exception&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Class&lt;/P&gt;
&lt;P&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Namespace&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=425" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>Javascript Debugging In VS 2003</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/09/01/423.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/09/01/423.aspx</id><published>2006-09-01T12:32:00Z</published><updated>2006-09-01T12:32:00Z</updated><content type="html">&lt;P&gt;Well as i surfed the web i came across this nice article:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/ssharrock/archive/2003/04/20/5875.aspx"&gt;http://weblogs.asp.net/ssharrock/archive/2003/04/20/5875.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A little bit late but it shows you this tip:&lt;/P&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=000062814-20042003&gt;Just two simple steps to client-side debugging nirvana.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=000062814-20042003&gt;Clear the "disable script debugging" checkbox in&amp;nbsp;Internet Explorer's advanced&amp;nbsp;properties.&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=000062814-20042003&gt;Add the keyword "debugger" somewhere within your JavaScript.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=000062814-20042003&gt;And VS will launch and enable you to debug your script as you were debugging C#.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=000062814-20042003&gt;Greate Feature Thx VS Guys :)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN class=000062814-20042003&gt;Happy Debugging &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=423" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>Microsoft Office 2007 Beta</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/09/01/422.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/09/01/422.aspx</id><published>2006-09-01T06:15:00Z</published><updated>2006-09-01T06:15:00Z</updated><content type="html">&lt;P&gt;Microsoft has just created a test drive page for Office 2007 Beta, &lt;/P&gt;
&lt;P&gt;Where you can Test Drive The Features.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/office/preview/beta/testdrive.mspx"&gt;http://www.microsoft.com/office/preview/beta/testdrive.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You can also get the&amp;nbsp;beta version at $2, which expires next year.&lt;/P&gt;
&lt;P&gt;I have downloaded it yesterday , and tested the new Office Features.&lt;/P&gt;
&lt;P&gt;There are a lot of improvements in the Outlook Object Model especially for com-addin and Outlook Forms Developers. &lt;/P&gt;
&lt;P&gt;Some Links For Consolidated Development in Outlook 2007:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=09c426ce-b06d-415c-a9e1-976268e16181&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=09c426ce-b06d-415c-a9e1-976268e16181&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;What is new for Developers in Outlook 2007:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/office/program/outlook/2007/default.aspx"&gt;http://msdn.microsoft.com/office/program/outlook/2007/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=AABF127D-D069-4549-A1B1-667A698C3EF6&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=AABF127D-D069-4549-A1B1-667A698C3EF6&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Happy Customizing.&lt;/P&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=422" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>Classic ADO to ADO.Net Conversion Utilities - Part I</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/08/31/421.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/08/31/421.aspx</id><published>2006-08-31T14:08:00Z</published><updated>2006-08-31T14:08:00Z</updated><content type="html">&lt;P&gt;In the project that i am working, there is a interop between Com and .Net where the Com Functions Expect Recordsets And They also provide Recordsets back to the .Net. &lt;/P&gt;
&lt;P&gt;Using System.Xml namespace and some schema parsing code i am able to convert between DataSet Generated Xml Files And Recordset Generated using .Net without any need of reference to the ADO Com Libraries.&lt;/P&gt;
&lt;P&gt;First Part Is DataSet To Recordset:&lt;/P&gt;&lt;FONT color=#0000ff size=1&gt;
&lt;P&gt;Option&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Strict&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Off&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;#&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Region&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"Imported Libraries"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;
&lt;P&gt;Imports&lt;/FONT&gt;&lt;FONT size=1&gt; System.IO&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;
&lt;P&gt;Imports&lt;/FONT&gt;&lt;FONT size=1&gt; System.Xml&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;
&lt;P&gt;Imports&lt;/FONT&gt;&lt;FONT size=1&gt; System.Text&lt;/P&gt;
&lt;P&gt;#&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Region&lt;/P&gt;
&lt;P&gt;Namespace&lt;/FONT&gt;&lt;FONT size=1&gt; AdoClassic&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' This class converts a .NET DataSet to an ADODB Recordset.&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Converts The Provided ADO.Net DataSet or Datatable Structures Into The ADO 2.5 Versions Recordset Objects Xml Based Representation using Schema Transformation And Dataset Xml Conversion. &lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Generally used for the transformation and data providing to the CSF.Reporting layer, so other Office Applications can use the Data Created By The CSF.&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Public&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;NotInheritable&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Class&lt;/FONT&gt;&lt;FONT size=1&gt; AdoNetAdoClassicTools&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Const&lt;/FONT&gt;&lt;FONT size=1&gt; MICROSOFTSCHEMAROWSET &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt; = &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"urn:schemas-microsoft-com:rowset"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Initializes a new instance of the &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;see cref="T:ADONETToADOClassic" /&amp;gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt; class.&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt;()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Converts The Given Recordset Xml File To DataSet&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="fileName"&amp;gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Public&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; ConvertRecordsetXmlToDataSet(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; fileName &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataSet&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; ConvertRecordsetXmlToDataSet(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; FileStream(fileName, FileMode.Open))&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Converts The Given Recordset Xml File To DataSet&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="recordsetXml"&amp;gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Public&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; ConvertRecordsetXmlToDataSet(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; recordsetXml &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; Stream) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataSet&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; tempDocument &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlDocument = &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; XmlDocument()&lt;/P&gt;
&lt;P&gt;tempDocument.Load(recordsetXml)&lt;/P&gt;
&lt;P&gt;recordsetXml.Close()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; ParseOutSchemaInformation(tempDocument)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; ParseOutSchemaInformation(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; document &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; Xml.XmlDocument) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataSet&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'&amp;lt;s:AttributeType name="DelDate" rs:number="52" rs:nullable="true" rs:write="true"&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;' &amp;lt;s:datatype dt:type="string" dt:maxLength="20" rs:precision="0" rs:maybenull="false"/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'&amp;lt;/s:AttributeType&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; resultDataTable &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; DataTable&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/FONT&gt;&lt;FONT size=1&gt; document&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; nodeList &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlNodeList = .GetElementsByTagName(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"AttributeType"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Each&lt;/FONT&gt;&lt;FONT size=1&gt; rsNode &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlNode &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;In&lt;/FONT&gt;&lt;FONT size=1&gt; nodeList&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; fieldName &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt; = rsNode.Attributes(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"name"&lt;/FONT&gt;&lt;FONT size=1&gt;).Value&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; fieldType &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt; = &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; fieldMaxLength &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Integer&lt;/FONT&gt;&lt;FONT size=1&gt; = 0&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; declarationRow &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlNode = rsNode.ChildNodes(0)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; attributes &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlAttributeCollection = declarationRow.Attributes&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Each&lt;/FONT&gt;&lt;FONT size=1&gt; attribute &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlAttribute &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;In&lt;/FONT&gt;&lt;FONT size=1&gt; attributes&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Select&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; attribute.Name&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"dt:type"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;fieldType = ResolveDataType(attribute.Value)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Select&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; tempColumn &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; DataColumn(fieldName, System.Type.GetType(fieldType))&lt;/P&gt;
&lt;P&gt;resultDataTable.Columns.Add(tempColumn)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; ParseOutData(document, resultDataTable)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; ResolveDataType(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; typeName &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'TODO Additional Data Type Conversions Should Be Added Here&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Select&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; typeName&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"string"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.String"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"int"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Int32"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"float"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Double"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"boolean"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Boolean"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"uuid"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Guid"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Else&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.String"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Select&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; ParseOutData(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; document &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; Xml.XmlDocument, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; ds &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataTable) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataSet&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/FONT&gt;&lt;FONT size=1&gt; document&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; nodeList &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlNodeList = .GetElementsByTagName(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"row"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"#RowsetSchema"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Each&lt;/FONT&gt;&lt;FONT size=1&gt; dataNode &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlNode &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;In&lt;/FONT&gt;&lt;FONT size=1&gt; nodeList&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; dr &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataRow = ds.NewRow()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Each&lt;/FONT&gt;&lt;FONT size=1&gt; attribute &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlAttribute &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;In&lt;/FONT&gt;&lt;FONT size=1&gt; dataNode.Attributes&lt;/P&gt;
&lt;P&gt;attribute.Normalize()&lt;/P&gt;
&lt;P&gt;dr(attribute.Name) = attribute.Value&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;ds.Rows.Add(dr)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; resultDataset &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; DataSet()&lt;/P&gt;
&lt;P&gt;resultDataset.Tables.Add(ds)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; resultDataset&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Takes a DataSet and converts into a Recordset. The converted&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' ADODB recordset is returned as a Recordset persisted XML string.&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="DS"&amp;gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;DataSet object&lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="dbName"&amp;gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;DataTable Name&lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;returns&amp;gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;String containing ADODB formatted XML&lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/returns&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Public&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; ConvertDataSetToAdoRecordset(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; DS &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataSet, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; dbName &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; mStream &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; MemoryStream&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Create a MemoryStream to contain the XML&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Create an XmlWriter object, to write the formatted XML to the MemoryStream&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; xWriter &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; XmlTextWriter(mStream, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Nothing&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Additional formatting for XML&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;xWriter.Indentation = 8&lt;/P&gt;
&lt;P&gt;xWriter.Formatting = Formatting.Indented&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'call this Sub to write the ADONamespaces&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;WriteADONamespaces(xWriter)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'call this Sub to write the ADO Recordset Schema&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;WriteSchemaElement(DS, dbName, xWriter)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Call this sub to transform the data portion of the Dataset&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;TransformData(DS, xWriter, dbName)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Flush all input to XmlWriter&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;xWriter.Flush()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Prepare the return value&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;mStream.Position = 0&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; Buffer &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; Array&lt;/P&gt;
&lt;P&gt;Buffer = Array.CreateInstance(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;GetType&lt;/FONT&gt;&lt;FONT size=1&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Byte&lt;/FONT&gt;&lt;FONT size=1&gt;), mStream.Length)&lt;/P&gt;
&lt;P&gt;mStream.Read(Buffer, 0, mStream.Length)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; TextConverter &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; UTF8Encoding&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; TextConverter.GetString(Buffer)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Catch&lt;/FONT&gt;&lt;FONT size=1&gt; ex &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; Exception&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Finally&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;mStream.Close()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'mStream.Dispose()&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Add ADO XML namespaces to the XML output&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="xWriter"&amp;gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;The x writer.&lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/FONT&gt;&lt;FONT size=1&gt; WriteADONamespaces(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByRef&lt;/FONT&gt;&lt;FONT size=1&gt; xWriter &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlTextWriter)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Use the following line to change the encoding if special characters are required&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'writer.WriteProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1'")&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/FONT&gt;&lt;FONT size=1&gt; xWriter&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Add XML start element&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.WriteStartElement(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"xml"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Append the ADO Recordset namespaces&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"xmlns"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"s"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Nothing&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"xmlns"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"dt"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Nothing&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"xmlns"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"rs"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Nothing&lt;/FONT&gt;&lt;FONT size=1&gt;, MICROSOFTSCHEMAROWSET)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"xmlns"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"z"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Nothing&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"#RowsetSchema"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;.Flush()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Add Schema element to the XML output&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="DS"&amp;gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;The DS.&lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="dbName"&amp;gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;Name of the db.&lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="xWriter"&amp;gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;The x writer.&lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/FONT&gt;&lt;FONT size=1&gt; WriteSchemaElement(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; DS &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataSet, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; dbName &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByRef&lt;/FONT&gt;&lt;FONT size=1&gt; xWriter &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlTextWriter)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'write element Schema&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/FONT&gt;&lt;FONT size=1&gt; xWriter&lt;/P&gt;
&lt;P&gt;.WriteStartElement(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"s"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"Schema"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"id"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"RowsetSchema"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'write element ElementType&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.WriteStartElement(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"s"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"ElementType"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'write the attributes for ElementType&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"name"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"row"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"content"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"eltOnly"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"rs"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"updatable"&lt;/FONT&gt;&lt;FONT size=1&gt;, MICROSOFTSCHEMAROWSET, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"true"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;WriteSchema(DS, dbName, xWriter)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'write the end element for ElementType&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.WriteFullEndElement()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'write the end element for Schema&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.WriteFullEndElement()&lt;/P&gt;
&lt;P&gt;.Flush()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Add field definitions to the schema&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="DS"&amp;gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="dbName"&amp;gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="xWriter"&amp;gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/FONT&gt;&lt;FONT size=1&gt; WriteSchema(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; DS &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataSet, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; dbName &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByRef&lt;/FONT&gt;&lt;FONT size=1&gt; xWriter &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlTextWriter)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; i &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; Int32 = 1&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; DC &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataColumn&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Each&lt;/FONT&gt;&lt;FONT size=1&gt; DC &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;In&lt;/FONT&gt;&lt;FONT size=1&gt; DS.Tables(dbName).Columns&lt;/P&gt;
&lt;P&gt;DC.ColumnMapping = MappingType.Attribute&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/FONT&gt;&lt;FONT size=1&gt; xWriter&lt;/P&gt;
&lt;P&gt;.WriteStartElement(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"s"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"AttributeType"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"name"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/FONT&gt;&lt;FONT size=1&gt;, DC.ToString)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"rs"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"number"&lt;/FONT&gt;&lt;FONT size=1&gt;, MICROSOFTSCHEMAROWSET, i.ToString)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"rs"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"baseCatalog"&lt;/FONT&gt;&lt;FONT size=1&gt;, MICROSOFTSCHEMAROWSET, dbName)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"rs"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"baseTable"&lt;/FONT&gt;&lt;FONT size=1&gt;, MICROSOFTSCHEMAROWSET, DC.Table.TableName.ToString)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"rs"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"keycolumn"&lt;/FONT&gt;&lt;FONT size=1&gt;, MICROSOFTSCHEMAROWSET, DC.Unique.ToString)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"rs"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"autoincrement"&lt;/FONT&gt;&lt;FONT size=1&gt;, MICROSOFTSCHEMAROWSET, DC.AutoIncrement.ToString)&lt;/P&gt;
&lt;P&gt;.WriteStartElement(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"s"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"datatype"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"dt"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"type"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"&lt;/FONT&gt;&lt;FONT size=1&gt;, GetDatatype(DC.DataType.ToString))&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"dt"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"maxlength"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"&lt;/FONT&gt;&lt;FONT size=1&gt;, DC.MaxLength.ToString)&lt;/P&gt;
&lt;P&gt;.WriteAttributeString(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"rs"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"maybenull"&lt;/FONT&gt;&lt;FONT size=1&gt;, MICROSOFTSCHEMAROWSET, DC.AllowDBNull.ToString)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'write end element for datatype&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.WriteEndElement()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'end element for AttributeType&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;.WriteEndElement()&lt;/P&gt;
&lt;P&gt;.Flush()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;With&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;i += 1&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;DC = &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Nothing&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Function to get the ADO compatible datatype&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="DType"&amp;gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; GetDatatype(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; DType &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Select&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; (DType)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Int32"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Int16"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Integer"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"int"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.DateTime"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"dateTime.iso8601tz"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.String"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"string"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Byte[]"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"bin.hex"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Boolean"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"boolean"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Guid"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"guid"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Case&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Else&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"string"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Select&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Transform the data format to ADO Recordset data format&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' This only transforms the data&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="DS"&amp;gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="xWriter"&amp;gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/FONT&gt;&lt;FONT size=1&gt; TransformData(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; DS &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; DataSet, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByRef&lt;/FONT&gt;&lt;FONT size=1&gt; xWriter &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; XmlTextWriter, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; tableName &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Loop through DataSet and add data to XML&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;xWriter.WriteStartElement(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"rs:data"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; i &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Long&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; j &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Integer&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'For each row...&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; i = 0 &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;To&lt;/FONT&gt;&lt;FONT size=1&gt; DS.Tables(tableName).Rows.Count - 1&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Write the start element for the row&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;xWriter.WriteStartElement(&lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"z:row"&lt;/FONT&gt;&lt;FONT size=1&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;""&lt;/FONT&gt;&lt;FONT size=1&gt;)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'For each field in the row...&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; j = 0 &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;To&lt;/FONT&gt;&lt;FONT size=1&gt; DS.Tables(tableName).Columns.Count - 1&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Write the attribute that describes this field and it's value&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;If&lt;/FONT&gt;&lt;FONT size=1&gt; DS.Tables(tableName).Columns(j).DataType.ToString = &lt;/FONT&gt;&lt;FONT color=#800000 size=1&gt;"System.Byte[]"&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Binary data must be properly encoded (bin.hex)&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;If&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Not&lt;/FONT&gt;&lt;FONT size=1&gt; IsDBNull(DS.Tables(tableName).Rows(i).Item(DS.Tables(tableName).Columns(j).ColumnName)) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;xWriter.WriteAttributeString(DS.Tables(tableName).Columns(j).ColumnName, DataToBinHex(DS.Tables(tableName).Rows(i).Item(DS.Tables(tableName).Columns(j).ColumnName)))&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Else&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;If&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Not&lt;/FONT&gt;&lt;FONT size=1&gt; IsDBNull(DS.Tables(tableName).Rows(i).Item(DS.Tables(tableName).Columns(j).ColumnName)) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;xWriter.WriteAttributeString(DS.Tables(tableName).Columns(j).ColumnName, &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;CType&lt;/FONT&gt;&lt;FONT size=1&gt;(DS.Tables(tableName).Rows(i).Item(DS.Tables(tableName).Columns(j).ColumnName), &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/FONT&gt;&lt;FONT size=1&gt;))&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'End the row element&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;xWriter.WriteEndElement()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Write the end element for rs:data&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;xWriter.WriteEndElement()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Write the end element for xml&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;xWriter.WriteEndElement()&lt;/P&gt;
&lt;P&gt;xWriter.Flush()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' Helper function - encodes binary data to a bin.hex string&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;/summary&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;param name="thisData"&amp;gt;&amp;lt;/param&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;''' &lt;/FONT&gt;&lt;FONT color=#808080 size=1&gt;&amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Private&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Shared&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/FONT&gt;&lt;FONT size=1&gt; DataToBinHex(&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;ByVal&lt;/FONT&gt;&lt;FONT size=1&gt; thisData &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Byte&lt;/FONT&gt;&lt;FONT size=1&gt;()) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;String&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; sb &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;New&lt;/FONT&gt;&lt;FONT size=1&gt; StringBuilder&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Dim&lt;/FONT&gt;&lt;FONT size=1&gt; i &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;As&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Integer&lt;/FONT&gt;&lt;FONT size=1&gt; = 0&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;For&lt;/FONT&gt;&lt;FONT size=1&gt; i = 0 &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;To&lt;/FONT&gt;&lt;FONT size=1&gt; thisData.Length - 1&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'First nibble of byte (4 most significant bits)&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;sb.Append(Hex((thisData(i) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;And&lt;/FONT&gt;&lt;FONT size=1&gt; &amp;amp;HF0) / 2 ^ 4))&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=1&gt;'Second nibble of byte (4 least significant bits)&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;sb.Append(Hex(thisData(i) &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;And&lt;/FONT&gt;&lt;FONT size=1&gt; &amp;amp;HF))&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Return&lt;/FONT&gt;&lt;FONT size=1&gt; sb.ToString&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Function&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Class&lt;/P&gt;
&lt;P&gt;End&lt;/FONT&gt;&lt;FONT size=1&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=1&gt;Namespace&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=1&gt;&lt;FONT size=3&gt;The usage of the class is very simple:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=1&gt;&lt;FONT size=1&gt;
&lt;P&gt;&lt;FONT size=3&gt;Dim sampleDataSet as new DataSet()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Dim sampleDataTable as new DataTable()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;sampleDataTable.TableName = "TestTable"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;sampleDataTable.Columns.Add("TestColumn")&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;sampleDataSet.Tables.Add(sampleDataTable)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Dim adoxml as String = CSF.DAL.AdoClassic.AdoNetAdoClassicTools.ConvertDataSetToAdoRecordset(customerFactFileDataSet, dt.TableName)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;just write out this adoxml to a file:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Dim file as new System.IO.FileStream("c:\result.xml",System.IO.FileMode.Create)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Dim writer as new System.IO.StreamWriter(file)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;writer.Write(adoxml)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;writer.Flush&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;writer.Close&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;And now the classic Vb 6.0 Part:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Private Function StringToRS(ByVal Value As String) As ADODB.Recordset&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Resume Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ADONETStream As New ADODB.Stream&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim RS As New ADODB.Recordset&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; With ADONETStream&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Open&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .WriteText (Value)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Position = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RS.Open ADONETStream&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Close&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End With&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set ADONETStream = Nothing&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set StringToRS = RS&lt;BR&gt;End Function&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Just Read The Above File As String&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Set fs = CreateObject("Scripting.FileSystemObject")&lt;BR&gt;Set file = fs.OpenTextFile("c:\test.txt", 1)&lt;BR&gt;Dim resultString As String&lt;BR&gt;resultString = file.ReadAll&lt;BR&gt;file.Close&lt;BR&gt;Dim resultset &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;set resultset = StringToRS(resultString)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Now you have a recordset that is generated from the DataSet without Com-Interop.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Part 2 of the series will have sample for converting from Recordset Generated Xml Files Directly To Datasets.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Happy Interoping&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=421" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>System.Net Logging Tips</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/08/31/420.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/08/31/420.aspx</id><published>2006-08-31T13:52:00Z</published><updated>2006-08-31T13:52:00Z</updated><content type="html">&lt;P&gt;How many times you asked your self, what is going under the hood , if you call the function System.Net.WebClient.DownloadData, with .Net 2.0 you can see whole the requests going and coming when you call this method with 2 steps.&lt;/P&gt;
&lt;P&gt;1) Just create a app.config file for your application&lt;/P&gt;
&lt;P&gt;2) Add the following entries to your app.config:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;BR&gt;&amp;lt;configuration&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;system.diagnostics&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;trace autoflush="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sources&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;source name="System.Net"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;listeners&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="TraceFile" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/listeners&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/source&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sources&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sharedListeners&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name="TraceFile"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="System.Diagnostics.TextWriterTraceListener"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initializeData="NetTrace.log"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sharedListeners&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;switches&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="System.Net" value="Verbose" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/switches&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/system.diagnostics&amp;gt;&lt;BR&gt;&amp;lt;/configuration&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;3) Just Call WebClient.DownloadData from your code, you will have entries like this in your nettrace.log file and debug window:&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=1&gt;
&lt;P&gt;ystem.Net Verbose: 0 : [3816] WebClient#47633461::DownloadData(http://www.yahoo.com/#2136786598)&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] WebClient#47633461::DownloadData(http://www.yahoo.com/#2136786598)&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] WebRequest::Create(http://www.yahoo.com/)&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] HttpWebRequest#63130991::HttpWebRequest(http://www.yahoo.com/#2136786598)&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] Exiting HttpWebRequest#63130991::HttpWebRequest() &lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] Exiting WebRequest::Create() -&amp;gt; HttpWebRequest#63130991&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] HttpWebRequest#63130991::GetResponse()&lt;/P&gt;
&lt;P&gt;System.Net Information: 0 : [3816] Associating HttpWebRequest#63130991 with ServicePoint#64981649&lt;/P&gt;
&lt;P&gt;System.Net Information: 0 : [3816] Associating Connection#38493088 with HttpWebRequest#63130991&lt;/P&gt;
&lt;P&gt;System.Net Information: 0 : [3816] Associating HttpWebRequest#63130991 with ConnectStream#54467399&lt;/P&gt;
&lt;P&gt;System.Net Information: 0 : [3816] HttpWebRequest#63130991 - Request: GET http://www.yahoo.com/ HTTP/1.1&lt;/P&gt;
&lt;P&gt;System.Net Information: 0 : [3816] ConnectStream#54467399 - Sending headers&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;Host: www.yahoo.com&lt;/P&gt;
&lt;P&gt;Proxy-Connection: Keep-Alive&lt;/P&gt;
&lt;P&gt;}.&lt;/P&gt;
&lt;P&gt;System.Net Information: 0 : [3816] Connection#38493088 - Received status line: Version=1.1, StatusCode=407, StatusDescription=Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. ).&lt;/P&gt;
&lt;P&gt;System.Net Information: 0 : [3816] Connection#38493088 - Received headers&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;Proxy-Authenticate: NTLM,Basic realm="istwwebacs0.euea.corp.bshg.com",Kerberos,Negotiate&lt;/P&gt;
&lt;P&gt;Via: 1.1 BLABLABLA&lt;/P&gt;
&lt;P&gt;Connection: Keep-Alive&lt;/P&gt;
&lt;P&gt;Proxy-Connection: Keep-Alive&lt;/P&gt;
&lt;P&gt;Pragma: no-cache&lt;/P&gt;
&lt;P&gt;Cache-Control: no-cache&lt;/P&gt;
&lt;P&gt;Content-Type: text/html&lt;/P&gt;
&lt;P&gt;Content-Length: 2381&lt;/P&gt;
&lt;P&gt;}.&lt;/P&gt;
&lt;P&gt;System.Net Information: 0 : [3816] ConnectStream#35113868::ConnectStream(Buffered 2381 bytes.)&lt;/P&gt;
&lt;P&gt;System.Net Information: 0 : [3816] Associating HttpWebRequest#63130991 with ConnectStream#35113868&lt;/P&gt;
&lt;P&gt;System.Net Information: 0 : [3816] Associating HttpWebRequest#63130991 with HttpWebResponse#36620214&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] ConnectStream#35113868::Read()&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] Data from ConnectStream#35113868::Read&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 00000000 : 3C 21 44 4F 43 54 59 50-45 20 48 54 4D 4C 20 50 : &amp;lt;!DOCTYPE HTML P&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 00000010 : 55 42 4C 49 43 20 22 2D-2F 2F 57 33 43 2F 2F 44 : UBLIC "-//W3C//D&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 00000020 : 54 44 20 48 54 4D 4C 20-34 2E 30 20 54 72 61 6E : TD HTML 4.0 Tran&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 00000030 : 73 69 74 69 6F 6E 61 6C-2F 2F 45 4E 22 3E 0D 0A : sitional//EN"&amp;gt;..&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 00000040 : 3C 48 54 4D 4C 20 64 69-72 3D 6C 74 72 3E 3C 48 : &amp;lt;HTML dir=ltr&amp;gt;&amp;lt;H&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 00000050 : 45 41 44 3E 3C 54 49 54-4C 45 3E 54 68 65 20 70 : EAD&amp;gt;&amp;lt;TITLE&amp;gt;The p&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 00000060 : 61 67 65 20 63 61 6E 6E-6F 74 20 62 65 20 64 69 : age cannot be di&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 00000070 : 73 70 6C 61 79 65 64 3C-2F 54 49 54 4C 45 3E 0D : splayed&amp;lt;/TITLE&amp;gt;.&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 00000080 : 0A 3C 53 54 59 4C 45 3E-41 3A 6C 69 6E 6B 20 7B : .&amp;lt;STYLE&amp;gt;A:link {&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 00000090 : 0D 0A 09 46 4F 4E 54 3A-20 38 70 74 2F 31 31 70 : ...FONT: 8pt/11p&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 000000A0 : 74 20 76 65 72 64 61 6E-61 3B 20 43 4F 4C 4F 52 : t verdana; COLOR&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 000000B0 : 3A 20 23 66 66 30 30 30-30 0D 0A 7D 0D 0A 41 3A : : #ff0000..}..A:&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 000000C0 : 76 69 73 69 74 65 64 20-7B 0D 0A 09 46 4F 4E 54 : visited {...FONT&lt;/P&gt;
&lt;P&gt;System.Net Verbose: 0 : [3816] 000000D0 : 3A 20 38 70 74 2F 31 31-70 74 20 76 65 72 64 61 : : 8pt/11pt verda&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;This logging feature is enable for whole System.Net based classes , which is also used by the webservices.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Happy Tracing :)&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=420" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry><entry><title>Weird Thing</title><link rel="alternate" type="text/html" href="http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/08/31/418.aspx" /><id>http://www.kodyaz.com/blogs/unknown_tales_from_kerem/archive/2006/08/31/418.aspx</id><published>2006-08-31T05:32:00Z</published><updated>2006-08-31T05:32:00Z</updated><content type="html">&lt;P&gt;What do you expect when you write *.bat , whole files ending with .bat , no just be careful, because it brings also files ending with bat_bla, batt, batter, etc.&lt;/P&gt;
&lt;P&gt;So if you are using this expression with System.IO.Folder.GetFiles always check the extensions of the files using System.IO.Path.GetExtension before processing them.&lt;/P&gt;
&lt;P&gt;Happy Coding.&lt;FONT size=1&gt;&lt;/P&gt;&lt;/FONT&gt;

&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.kodyaz.com/aggbug.aspx?PostID=418" width="1" height="1"&gt;</content><author><name>keremkusmezer</name><uri>http://www.kodyaz.com/members/keremkusmezer.aspx</uri></author></entry></feed>