<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>NETXPF</title><link>http://netxpf.codeplex.com/project/feeds/rss</link><description>NETXPF is a collection of .NET components to support the development of professional Windows &amp;#38; web applications.</description><item><title>Source code checked in, #71713</title><link>http://netxpf.codeplex.com/SourceControl/changeset/changes/71713</link><description>Minor enhancements &amp;#40;conversion and encryption&amp;#41;</description><author>dacris</author><pubDate>Wed, 23 Nov 2011 21:38:17 GMT</pubDate><guid isPermaLink="false">Source code checked in, #71713 20111123093817P</guid></item><item><title>Source code checked in, #70768</title><link>http://netxpf.codeplex.com/SourceControl/changeset/changes/70768</link><description>Minor update</description><author>dacris</author><pubDate>Wed, 26 Oct 2011 20:03:31 GMT</pubDate><guid isPermaLink="false">Source code checked in, #70768 20111026080331P</guid></item><item><title>Source code checked in, #70747</title><link>http://netxpf.codeplex.com/SourceControl/changeset/changes/70747</link><description>Removed Geocode function</description><author>dacris</author><pubDate>Tue, 25 Oct 2011 19:52:42 GMT</pubDate><guid isPermaLink="false">Source code checked in, #70747 20111025075242P</guid></item><item><title>Source code checked in, #70251</title><link>http://netxpf.codeplex.com/SourceControl/changeset/changes/70251</link><description>Build update, XMLAdapter enhancement</description><author>dacris</author><pubDate>Fri, 07 Oct 2011 20:10:49 GMT</pubDate><guid isPermaLink="false">Source code checked in, #70251 20111007081049P</guid></item><item><title>Source code checked in, #70148</title><link>http://netxpf.codeplex.com/SourceControl/changeset/changes/70148</link><description>JSON-based generic authentication system &amp;#40;Web.Authentication&amp;#41;</description><author>dacris</author><pubDate>Fri, 30 Sep 2011 20:51:23 GMT</pubDate><guid isPermaLink="false">Source code checked in, #70148 20110930085123P</guid></item><item><title>Source code checked in, #70125</title><link>http://netxpf.codeplex.com/SourceControl/changeset/changes/70125</link><description>Added Geocoding class &amp;#40;Geo&amp;#41;&amp;#13;&amp;#10;Added Logging class &amp;#40;Log&amp;#41;&amp;#13;&amp;#10;Added WCF logging attribute &amp;#40;LogErrorsAttribute&amp;#41; for easy WCF exception logging&amp;#13;&amp;#10;Fixed an error in JSON class&amp;#13;&amp;#10;Fixed bugs and added a few enhancements&amp;#13;&amp;#10;Added more unit tests&amp;#13;&amp;#10;</description><author>dacris</author><pubDate>Thu, 29 Sep 2011 20:32:42 GMT</pubDate><guid isPermaLink="false">Source code checked in, #70125 20110929083242P</guid></item><item><title>Source code checked in, #69938</title><link>http://netxpf.codeplex.com/SourceControl/changeset/changes/69938</link><description>-Added unit tests&amp;#13;&amp;#10;-Lots of ConvertEx enhancements&amp;#13;&amp;#10;-Added param types to prepared queries &amp;#40;Database class&amp;#41;&amp;#13;&amp;#10;-Added JSON parsing&amp;#13;&amp;#10;-Lots more utils</description><author>dacris</author><pubDate>Wed, 21 Sep 2011 19:29:27 GMT</pubDate><guid isPermaLink="false">Source code checked in, #69938 20110921072927P</guid></item><item><title>Updated Wiki: Serialize JSON objects</title><link>http://netxpf.codeplex.com/wikipage?title=Serialize JSON objects&amp;version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;JSON Serialization&lt;/h1&gt;NETXPF provides a class called &lt;b&gt;JSON&lt;/b&gt; to help with serialization of arbitrary data to JSON.&lt;br /&gt;JSON.JSONify allows you to serialize any object by names and values of public properties, recursively.&lt;br /&gt;It also allows you to independently serialize arrays, strings, and ValueTypes (like double or int).
&lt;h2&gt;Serialize (escape) a string&lt;/h2&gt;&lt;span class="codeInline"&gt; Console.WriteLine(JSON.JSONify(&amp;quot;mystring \&amp;quot;with\&amp;quot; quotes&amp;quot;)); &lt;/span&gt;&lt;br /&gt;&lt;b&gt;Output:&lt;/b&gt; mystring \&amp;quot;with\&amp;quot; quotes
&lt;h2&gt;Serialize an object (by public properties)&lt;/h2&gt;&lt;pre&gt;
class MyObject {
public string A { get;set; }
public int B {get;set;}
}
Console.WriteLine(JSON.JSONify(new MyObject { A = &amp;quot;testing&amp;quot;, B = 100 }));
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Output:&lt;/b&gt; {A:&amp;quot;testing&amp;quot;,B:100}
&lt;h2&gt;Serialize an array&lt;/h2&gt;&lt;pre&gt;
int[] testArray = new int[] { 1, 2, 3 };
Console.WriteLine(JSON.JSONify(testArray));
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Output:&lt;/b&gt; [1,2,3]&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dacris</author><pubDate>Fri, 16 Sep 2011 14:57:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Serialize JSON objects 20110916025723P</guid></item><item><title>Updated Wiki: Serialize JSON objects</title><link>http://netxpf.codeplex.com/wikipage?title=Serialize JSON objects&amp;version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;JSON Serialization&lt;/h1&gt;NETXPF provides a class called &lt;b&gt;JSON&lt;/b&gt; to help with serialization of arbitrary data to JSON.&lt;br /&gt;JSON.JSONify allows you to serialize any object by names and values of public properties, recursively.&lt;br /&gt;It also allows you to independently serialize arrays, strings, and ValueTypes (like double or int).
&lt;h2&gt;Serialize (escape) a string&lt;/h2&gt;&lt;span class="codeInline"&gt; Console.WriteLine(JSON.JSONify(&amp;quot;mystring \&amp;quot;with\&amp;quot; quotes&amp;quot;)); &lt;/span&gt;&lt;br /&gt;&lt;b&gt;Output:&lt;/b&gt; mystring \&amp;quot;with\&amp;quot; quotes
&lt;h2&gt;Serialize an object (by public properties)&lt;/h2&gt;&lt;pre&gt;
class MyObject {
public string A { get;set; }
public int B {get;set;}
}
Console.WriteLine(JSON.JSONify(new MyObject { A = &amp;quot;testing&amp;quot;, B = 100 }));
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Output:&lt;/b&gt; {A:&amp;quot;testing&amp;quot;,B:100}
&lt;h2&gt;Serialize an array&lt;/h2&gt;&lt;pre&gt;
int[] testArray = new int[] { 1, 2, 3 };
Console.WriteLine(JSON.JSONify(testArray));
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Output:&lt;/b&gt; &lt;a href="http://netxpf.codeplex.com/wikipage?title=1%2c2%2c3&amp;referringTitle=Serialize%20JSON%20objects"&gt;1,2,3&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dacris</author><pubDate>Fri, 16 Sep 2011 14:57:07 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Serialize JSON objects 20110916025707P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://netxpf.codeplex.com/documentation?version=10</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Topics&lt;/h2&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Serialize%20a%20dictionary&amp;referringTitle=Documentation"&gt;Serialize a dictionary&lt;/a&gt; to XML or binary&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Launch%20external%20processes%20or%20websites&amp;referringTitle=Documentation"&gt;Launch external processes or websites&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Format%20numbers&amp;referringTitle=Documentation"&gt;Format numbers&lt;/a&gt; using significant digits&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Get%20the%20exact%20build%20date%20of%20an%20assembly&amp;referringTitle=Documentation"&gt;Get the exact build date of an assembly&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Add%20GZip%20compression&amp;referringTitle=Documentation"&gt;Add GZip compression&lt;/a&gt; to any web page with one line of code&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Run%20loops%20in%20parallel&amp;referringTitle=Documentation"&gt;Run loops in parallel&lt;/a&gt; on multi-CPU systems&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Read%20CSV%20files&amp;referringTitle=Documentation"&gt;Read CSV files&lt;/a&gt; as per RFC 4180&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Serialize%20JSON%20objects&amp;referringTitle=Documentation"&gt;Serialize JSON objects&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Package Information&lt;/h2&gt;For reference documentation, please download the help file from the &amp;quot;Downloads&amp;quot; section.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Package Contents:&lt;/b&gt;&lt;br /&gt;Assembly -- Contains the NetXPF assemblies.&lt;br /&gt;Loader.exe -- The .NET application loader.&lt;br /&gt;Loader.ini -- Sample configuration for Loader.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Readme.txt should contain release notes for the current release.&lt;/b&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dacris</author><pubDate>Fri, 16 Sep 2011 14:50:07 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20110916025007P</guid></item><item><title>Updated Wiki: Home</title><link>http://netxpf.codeplex.com/wikipage?version=22</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;NETXPF is a collection of .NET components to support the development of professional Windows &amp;#38; web applications.&lt;br /&gt;NETXPF is intended to be a logical extension to the .NET framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Requirements&lt;/b&gt;&lt;br /&gt;NETXPF targets .NET 2.0 for all assemblies except NETXPF.WPF (which requires .NET 3.0 or later).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Current components&lt;/b&gt;&lt;br /&gt;Loader: A native Win32 splash screen loader for .NET client-side apps that also checks for the presence of the .NET Framework and directs the user to a download page accordingly&lt;br /&gt;Win32: A comprehensive Win32 API wrapper for .NET&lt;br /&gt;WPF: A collection of WPF controls, including property grid (PropertyList), date picker, drop down button, and search box&lt;br /&gt;Library: A collection of utility classes for the following tasks:&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Serialize%20a%20dictionary&amp;referringTitle=Home"&gt;Serialize a dictionary&lt;/a&gt; to XML or binary&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Launch%20external%20processes%20or%20websites&amp;referringTitle=Home"&gt;Launch external processes or websites&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Format%20numbers&amp;referringTitle=Home"&gt;Format numbers&lt;/a&gt; using significant digits&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Get%20the%20exact%20build%20date%20of%20an%20assembly&amp;referringTitle=Home"&gt;Get the exact build date of an assembly&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Add%20GZip%20compression&amp;referringTitle=Home"&gt;Add GZip compression&lt;/a&gt; to any web page with one line of code&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Run%20loops%20in%20parallel&amp;referringTitle=Home"&gt;Run loops in parallel&lt;/a&gt; on multi-CPU systems&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Read%20CSV%20files&amp;referringTitle=Home"&gt;Read CSV files&lt;/a&gt; as per RFC 4180&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Serialize%20JSON%20objects&amp;referringTitle=Home"&gt;Serialize JSON objects&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Future components&lt;/b&gt;&lt;br /&gt;Sortable and filterable WPF list view with ability to add &amp;amp; remove columns&lt;br /&gt;Framework for settings &amp;amp; state persistence using isolated storage &amp;amp; XML/binary serialization&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NETXPF != NETXP&lt;/b&gt;&lt;br /&gt;This is &lt;b&gt;not&lt;/b&gt; an open-source version of NetXP. While some parts of NetXP have been included in NetXPF (e.g. the Win32 loader and Win32 wrapper), NetXPF does not have docking components or other rich Windows Forms controls. For Windows Forms controls, please go to &lt;a href="http://www.dacris.com/netxp" class="externalLink"&gt;http://www.dacris.com/netxp&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dacris</author><pubDate>Fri, 16 Sep 2011 14:49:52 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110916024952P</guid></item><item><title>Updated Wiki: Read CSV files</title><link>http://netxpf.codeplex.com/wikipage?title=Read CSV files&amp;version=4</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Reading / Writing CSV Files&lt;/h1&gt;This is done using the NETXPF.Library.CSVAdapter class. This implements the CSV specification as per RFC 4180. The best (lowest memory usage) approach is to stream a CSV file, reading one record at a time. This is done by calling CSVAdapter.ReadRecord repeatedly until it returns null.
&lt;h2&gt;Reading an Entire File into Memory&lt;/h2&gt;&lt;pre&gt;
List&amp;lt;string[]&amp;gt; records = CSVAdapter.Read(File.OpenRead(&amp;quot;MyFile.csv&amp;quot;));
//do something with records
&lt;/pre&gt;
&lt;h2&gt;Streaming a File Row by Row&lt;/h2&gt;&lt;pre&gt;
using(StreamReader sr = new StreamReader(&amp;quot;MyFile.csv&amp;quot;))
{
  while(true)
  {
    List&amp;lt;string&amp;gt; record = CSVAdapter.ReadRecord(sr);
    if(record == null) break;
    //do something with record
  }
}
&lt;/pre&gt;
&lt;h2&gt;Writing to a CSV File&lt;/h2&gt;&lt;pre&gt;
using(StreamWriter sw = new StreamWriter(&amp;quot;MyFile.csv&amp;quot;))
{
  foreach(string[] record in records) //assuming &amp;#39;records&amp;#39; is already declared as List&amp;lt;string[]&amp;gt;
  {
    sw.WriteLine(CSVAdapter.ToCSV(record));
  }
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dacris</author><pubDate>Fri, 16 Sep 2011 14:48:09 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Read CSV files 20110916024809P</guid></item><item><title>Updated Wiki: Read CSV files</title><link>http://netxpf.codeplex.com/wikipage?title=Read CSV files&amp;version=3</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Reading CSV Files&lt;/h1&gt;This is done using the NETXPF.Library.CSVAdapter class. This implements the CSV specification as per RFC 4180. The best (lowest memory usage) approach is to stream a CSV file, reading one record at a time. This is done by calling CSVAdapter.ReadRecord repeatedly until it returns null.
&lt;h2&gt;Reading an Entire File into Memory&lt;/h2&gt;&lt;pre&gt;
List&amp;lt;string[]&amp;gt; records = CSVAdapter.Read(File.OpenRead(&amp;quot;MyFile.csv&amp;quot;));
//do something with records
&lt;/pre&gt;
&lt;h2&gt;Streaming a File Row by Row&lt;/h2&gt;&lt;pre&gt;
using(StreamReader sr = new StreamReader(&amp;quot;MyFile.csv&amp;quot;))
{
  while(true)
  {
    List&amp;lt;string&amp;gt; record = CSVAdapter.ReadRecord(sr);
    if(record == null) break;
    //do something with record
  }
}
&lt;/pre&gt;
&lt;h2&gt;Writing a Record Set to CSV&lt;/h2&gt;&lt;pre&gt;
using(StreamWriter sw = new StreamWriter(&amp;quot;MyFile.csv&amp;quot;))
{
  foreach(string[] record in records) //assuming &amp;#39;records&amp;#39; is already declared as List&amp;lt;string[]&amp;gt;
  {
    sw.WriteLine(CSVAdapter.ToCSV(record));
  }
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dacris</author><pubDate>Fri, 16 Sep 2011 14:46:03 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Read CSV files 20110916024603P</guid></item><item><title>Updated Wiki: Read CSV files</title><link>http://netxpf.codeplex.com/wikipage?title=Read CSV files&amp;version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Reading CSV Files&lt;/h1&gt;This is done using the NETXPF.Library.CSVAdapter class. This implements the CSV specification as per RFC 4180. The best (lowest memory usage) approach is to stream a CSV file, reading one record at a time. This is done by calling CSVAdapter.ReadRecord repeatedly until it returns null.
&lt;h2&gt;Reading an Entire File into Memory&lt;/h2&gt;&lt;pre&gt;
List&amp;lt;string[]&amp;gt; records = CSVAdapter.Read(File.OpenRead(&amp;quot;MyFile.csv&amp;quot;));
//do something with records
&lt;/pre&gt;
&lt;h2&gt;Streaming a File Row by Row&lt;/h2&gt;&lt;pre&gt;
using(StreamReader sr = new StreamReader(&amp;quot;MyFile.csv&amp;quot;))
{
while(true)
{
List&amp;lt;string&amp;gt; record = CSVAdapter.ReadRecord(sr);
if(record == null) break;
//do something with record
}
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dacris</author><pubDate>Fri, 16 Sep 2011 14:43:36 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Read CSV files 20110916024336P</guid></item><item><title>Updated Wiki: Read CSV files</title><link>http://netxpf.codeplex.com/wikipage?title=Read CSV files&amp;version=1</link><description>&lt;div class="wikidoc"&gt;!!Reading an Entire File into Memory&lt;br /&gt;&lt;pre&gt;
List&amp;lt;string[]&amp;gt; records = CSVAdapter.Read(File.OpenRead(&amp;quot;MyFile.csv&amp;quot;));
//do something with records
&lt;/pre&gt;&lt;br /&gt;!!Streaming a File Row by Row&lt;br /&gt;&lt;pre&gt;
using(StreamReader sr = new StreamReader(&amp;quot;MyFile.csv&amp;quot;))
{
while(true)
{
List&amp;lt;string&amp;gt; record = CSVAdapter.ReadRecord(sr);
if(record == null) break;
//do something with record
}
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dacris</author><pubDate>Fri, 16 Sep 2011 14:41:32 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Read CSV files 20110916024132P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://netxpf.codeplex.com/documentation?version=9</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Topics&lt;/h2&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Serialize%20a%20dictionary&amp;referringTitle=Documentation"&gt;Serialize a dictionary&lt;/a&gt; to XML or binary&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Launch%20external%20processes%20or%20websites&amp;referringTitle=Documentation"&gt;Launch external processes or websites&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Format%20numbers&amp;referringTitle=Documentation"&gt;Format numbers&lt;/a&gt; using significant digits&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Get%20the%20exact%20build%20date%20of%20an%20assembly&amp;referringTitle=Documentation"&gt;Get the exact build date of an assembly&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Add%20GZip%20compression&amp;referringTitle=Documentation"&gt;Add GZip compression&lt;/a&gt; to any web page with one line of code&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Run%20loops%20in%20parallel&amp;referringTitle=Documentation"&gt;Run loops in parallel&lt;/a&gt; on multi-CPU systems&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Read%20CSV%20files&amp;referringTitle=Documentation"&gt;Read CSV files&lt;/a&gt; as per RFC 4180&lt;br /&gt;
&lt;h2&gt;Package Information&lt;/h2&gt;For reference documentation, please download the help file from the &amp;quot;Downloads&amp;quot; section.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Package Contents:&lt;/b&gt;&lt;br /&gt;Assembly -- Contains the NetXPF assemblies.&lt;br /&gt;Loader.exe -- The .NET application loader.&lt;br /&gt;Loader.ini -- Sample configuration for Loader.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Readme.txt should contain release notes for the current release.&lt;/b&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dacris</author><pubDate>Fri, 16 Sep 2011 14:38:33 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20110916023833P</guid></item><item><title>Updated Wiki: Home</title><link>http://netxpf.codeplex.com/wikipage?version=21</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;NETXPF is a collection of .NET components to support the development of professional Windows &amp;#38; web applications.&lt;br /&gt;NETXPF is intended to be a logical extension to the .NET framework.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Requirements&lt;/b&gt;&lt;br /&gt;NETXPF targets .NET 2.0 for all assemblies except NETXPF.WPF (which requires .NET 3.0 or later).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Current components&lt;/b&gt;&lt;br /&gt;Loader: A native Win32 splash screen loader for .NET client-side apps that also checks for the presence of the .NET Framework and directs the user to a download page accordingly&lt;br /&gt;Win32: A comprehensive Win32 API wrapper for .NET&lt;br /&gt;WPF: A collection of WPF controls, including property grid (PropertyList), date picker, drop down button, and search box&lt;br /&gt;Library: A collection of utility classes for the following tasks:&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Serialize%20a%20dictionary&amp;referringTitle=Home"&gt;Serialize a dictionary&lt;/a&gt; to XML or binary&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Launch%20external%20processes%20or%20websites&amp;referringTitle=Home"&gt;Launch external processes or websites&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Format%20numbers&amp;referringTitle=Home"&gt;Format numbers&lt;/a&gt; using significant digits&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Get%20the%20exact%20build%20date%20of%20an%20assembly&amp;referringTitle=Home"&gt;Get the exact build date of an assembly&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Add%20GZip%20compression&amp;referringTitle=Home"&gt;Add GZip compression&lt;/a&gt; to any web page with one line of code&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Run%20loops%20in%20parallel&amp;referringTitle=Home"&gt;Run loops in parallel&lt;/a&gt; on multi-CPU systems&lt;br /&gt;- &lt;a href="http://netxpf.codeplex.com/wikipage?title=Read%20CSV%20files&amp;referringTitle=Home"&gt;Read CSV files&lt;/a&gt; as per RFC 4180&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Future components&lt;/b&gt;&lt;br /&gt;Sortable and filterable WPF list view with ability to add &amp;amp; remove columns&lt;br /&gt;Framework for settings &amp;amp; state persistence using isolated storage &amp;amp; XML/binary serialization&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NETXPF != NETXP&lt;/b&gt;&lt;br /&gt;This is &lt;b&gt;not&lt;/b&gt; an open-source version of NetXP. While some parts of NetXP have been included in NetXPF (e.g. the Win32 loader and Win32 wrapper), NetXPF does not have docking components or other rich Windows Forms controls. For Windows Forms controls, please go to &lt;a href="http://www.dacris.com/netxp" class="externalLink"&gt;http://www.dacris.com/netxp&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dacris</author><pubDate>Fri, 16 Sep 2011 14:38:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110916023823P</guid></item><item><title>Source code checked in, #69677</title><link>http://netxpf.codeplex.com/SourceControl/changeset/changes/69677</link><description>Minor fixes and enhancements</description><author>dacris</author><pubDate>Fri, 09 Sep 2011 21:20:29 GMT</pubDate><guid isPermaLink="false">Source code checked in, #69677 20110909092029P</guid></item><item><title>Source code checked in, #69618</title><link>http://netxpf.codeplex.com/SourceControl/changeset/changes/69618</link><description>- CodeUtils.Map function &amp;#40;simple incursion into functional programming&amp;#41;&amp;#13;&amp;#10;- CodeUtils.Function bug fix &amp;#40;params were omitted&amp;#41;&amp;#13;&amp;#10;- Added a CSVAdapter shortcut function</description><author>dacris</author><pubDate>Wed, 07 Sep 2011 18:59:33 GMT</pubDate><guid isPermaLink="false">Source code checked in, #69618 20110907065933P</guid></item><item><title>Source code checked in, #69228</title><link>http://netxpf.codeplex.com/SourceControl/changeset/changes/69228</link><description>- Added bit manipulation, CSV-to-JSON conversion, and CRC64&amp;#13;&amp;#10;- Moved a few methods around &amp;#40;old methods retained for backward compatibility&amp;#41;</description><author>dacris</author><pubDate>Mon, 22 Aug 2011 20:39:29 GMT</pubDate><guid isPermaLink="false">Source code checked in, #69228 20110822083929P</guid></item></channel></rss>
