<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Lance Ahlberg's WebLog</title><subtitle type="html">Reflection on reason</subtitle><id>http://weblogs.asp.net/lancea/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lancea/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/lancea/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2004-03-15T21:49:00Z</updated><entry><title>Binding the GridView control to a complex (deep) business object </title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lancea/archive/2004/08/04/207770.aspx" /><id>http://weblogs.asp.net/lancea/archive/2004/08/04/207770.aspx</id><published>2004-08-04T08:10:00Z</published><updated>2004-08-04T08:10:00Z</updated><content type="html">&lt;P&gt;MSDN Magazine features a new ASP.NET 2.0 Grid control called GridView.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/04/08/GridView/default.aspx"&gt;http://msdn.microsoft.com/msdnmag/issues/04/08/GridView/default.aspx&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;I have been working with this control in conjunction with an ObjectDataSource in order to display data directly from a domain object.&amp;nbsp; The GridView in combination with the DataObjectSource allows me to pursue an object driven design in my applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;I&amp;nbsp;initially setup the GridView in design mode with Bound Fields.&amp;nbsp;&amp;nbsp;To add the bound fields,&amp;nbsp;I used the field dialog, accessible by clicking on the expand button on the Columns&amp;nbsp;property of the gridView.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;This worked fine so long as the domain object that was linked to the ObjectDataSource was &amp;#8220;flat&amp;#8221;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;So if I had a class...&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;public OrderItem&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;private string productName;&lt;BR&gt;&amp;nbsp;public string ProductName&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return productName;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;set&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;productName = value;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;private int orderQuantity;&lt;BR&gt;&amp;nbsp;public int OrderQuantity;&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return orderQuantity;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;set&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;orderQuantity = value;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;private decimal productPrice;&lt;BR&gt;&amp;nbsp;public decimal ProductPrice;&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return productPrice;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;set&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;productPrice = value;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;public OrderItem()&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;productName ="";&lt;BR&gt;&amp;nbsp;&amp;nbsp;orderQuantity = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;productPrice = 0.00M;&lt;BR&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;I can then set the BoundFields DataField property to the OrderItem object properties&amp;nbsp;&amp;nbsp;ie ProductName, OrderQuantity, or ProductPrice.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;But what happens when I have a domain object that is composed of other referenced objects...&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;public Product&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;private string name;&lt;BR&gt;&amp;nbsp;public string Name&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return name;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;set&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;name = value;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;private decimal price;&lt;BR&gt;&amp;nbsp;public decimal Price;&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return price;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;set&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;price = value;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;public Product()&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;name ="";&lt;BR&gt;&amp;nbsp;&amp;nbsp;price = 0.00M;&lt;BR&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;public OrderItem&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;private Product associatedProduct;&lt;BR&gt;&amp;nbsp;public Product AssociatedProduct&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return associatedProduct;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;set&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;associatedProduct= value;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;private int orderQuantity;&lt;BR&gt;&amp;nbsp;public int OrderQuantity;&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return orderQuantity;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;set&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;orderQuantity = value;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;public OrderItem()&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;associatedProduct=null;&lt;BR&gt;&amp;nbsp;&amp;nbsp;orderQuantity = 0;&lt;BR&gt;&amp;nbsp;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;}&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Now when I set the BoundFields DataField property to the Products properties via the OrderItems AssociatedProduct property ie AssociatedProduct.Name or AssociatedProduct.Price the bound field displays a nothing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;In order to get this to work I had to use a TemplateField instead of a BoundField.&amp;nbsp;The field dialog&amp;nbsp;has a nifty link button that can be used to convert the BoundField to a TemplateField.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;All I had to do was create a bound field with a DataField property of AssociatedProduct.Name and then press the &amp;#8220;Convert this field into a Template Field&amp;#8220; button and presto the product name was now displaying.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Magic I say..&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=207770" width="1" height="1"&gt;</content><author><name>lancea</name><uri>http://weblogs.asp.net/members/lancea.aspx</uri></author><category term="Visual Studio .Net" scheme="http://weblogs.asp.net/lancea/archive/tags/Visual+Studio+.Net/default.aspx" /></entry><entry><title>Reflecting on generic types</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lancea/archive/2004/06/01/146202.aspx" /><id>http://weblogs.asp.net/lancea/archive/2004/06/01/146202.aspx</id><published>2004-06-02T01:29:00Z</published><updated>2004-06-02T01:29:00Z</updated><content type="html">&lt;P&gt;I've recently been having fun trying to get the type of a generic list&amp;nbsp;using reflection.&lt;/P&gt;
&lt;P&gt;The VS2005 MSDN doco suggests trying something like..&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" color=#000080 size=2&gt;Type&amp;nbsp;classType = Type.GetType(&amp;#8220;System.Collections.Generic.List[[System.String,Mscorlib]],Mscorlib&amp;#8220;,true);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;I kept getting a a TypeLoadException : Could not load type 'System.Collections.Generic.List' from assembly mscorlib.&lt;/P&gt;
&lt;P&gt;After a bit of deliberating, I decided to try the following..&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" color=#000080 size=2&gt;System.Collections.Generic.List&amp;lt;String&amp;gt; stringList = new System.Collections.Generic.List&amp;lt;String&amp;gt;();&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" color=#000080 size=2&gt;Type&amp;nbsp;classType = stringList.GetType();&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" color=#000080 size=2&gt;Console.WriteLine(classType.ToString());&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;Guess what I got...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;System.Collections.Generic.List`1[System.String]&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;So what is this `1 about, it seems to be added to generic classes.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;From a bit more investigation it seems to represent the number of generic parameters (dimensions) associated with the class, so Dictionary is Dictionary`2.&amp;nbsp; While a generic class like MyGeneric&amp;lt;A,B,C,D,E&amp;gt; is actual MyGeneric`5.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=146202" width="1" height="1"&gt;</content><author><name>lancea</name><uri>http://weblogs.asp.net/members/lancea.aspx</uri></author><category term="Visual Studio .Net" scheme="http://weblogs.asp.net/lancea/archive/tags/Visual+Studio+.Net/default.aspx" /></entry><entry><title>Argument Exception - Absolute path information required with NUnit</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lancea/archive/2004/05/28/143645.aspx" /><id>http://weblogs.asp.net/lancea/archive/2004/05/28/143645.aspx</id><published>2004-05-28T08:08:00Z</published><updated>2004-05-28T08:08:00Z</updated><content type="html">&lt;P&gt;I have been getting an argument exception with details &amp;#8220;Absolute path information required&amp;#8221;, this exception was happening when I was running Tests with Nunit.&lt;/P&gt;
&lt;P&gt;After almost pulling my hair out the problem was found, Environment variables....&lt;/P&gt;
&lt;P&gt;Nunit caches the assemblies that are being tested in the temp directory, and uses the TEMP environment variable.&amp;nbsp; Of course my TEMP environment variable was a relative path.&lt;/P&gt;
&lt;P&gt;So the moral is, if you see Absolute path information is required take a look at your environment variables and ensure that they are absolute.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=143645" width="1" height="1"&gt;</content><author><name>lancea</name><uri>http://weblogs.asp.net/members/lancea.aspx</uri></author><category term="Software development Methodology" scheme="http://weblogs.asp.net/lancea/archive/tags/Software+development+Methodology/default.aspx" /></entry><entry><title>More on getting NUnitAsp LinkButtonTester to work with VS2005</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lancea/archive/2004/05/12/130250.aspx" /><id>http://weblogs.asp.net/lancea/archive/2004/05/12/130250.aspx</id><published>2004-05-12T04:55:00Z</published><updated>2004-05-12T04:55:00Z</updated><content type="html">&lt;P&gt;More on getting Nunitasp working with VS2005.&amp;nbsp; I have been having a problem with the LinkButtonTester, and it turns out that ASP.NET 2.0 doesn't like having &amp;#8220;NunitAsp&amp;#8221; as the Http Request UserAgent setting.&amp;nbsp;&amp;nbsp; When I set the UserAgent to be Mozilla/4.0 the page was rendered correctly.&lt;/P&gt;
&lt;P&gt;So if you are have problems with LinkButtonTester make sure you include the following in your test or test fixture setup..&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;Browser.UserAgent = "Mozilla/4.0";&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;
&lt;HR id=null&gt;
I have recently encountered another issue with the LinkButtonTester.&amp;nbsp;I had a page with a LinkButton, TextBox, and Field Validator.&amp;nbsp; The rendered page used a different javascript function called &lt;/P&gt;
&lt;P&gt;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&amp;#8220;test&amp;#8220;,&amp;#8220;&amp;#8220;,true,))&lt;BR&gt;&lt;BR&gt;The LinkButtonTester didn't like this at all raising&amp;nbsp;a parse exception.&lt;/P&gt;
&lt;P&gt;It turns out that in ASP.NET 2.0 validation is also&amp;nbsp;performed client side using various javascripts, and when a linkbutton is clicked it triggers the client side validation to occur.&lt;/P&gt;
&lt;P&gt;So in order to turn off this behaviour and return to the old __doPostBack function I set the LinkButton's CausesValidation property to false.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=130250" width="1" height="1"&gt;</content><author><name>lancea</name><uri>http://weblogs.asp.net/members/lancea.aspx</uri></author><category term="Software development Methodology" scheme="http://weblogs.asp.net/lancea/archive/tags/Software+development+Methodology/default.aspx" /><category term="Visual Studio .Net" scheme="http://weblogs.asp.net/lancea/archive/tags/Visual+Studio+.Net/default.aspx" /></entry><entry><title>Getting NunitAsp LinkButtonTester working with ASP.NET 2.0 (Whidbey Alpha Community Edition)</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lancea/archive/2004/05/06/126991.aspx" /><id>http://weblogs.asp.net/lancea/archive/2004/05/06/126991.aspx</id><published>2004-05-06T06:31:00Z</published><updated>2004-05-06T06:31:00Z</updated><content type="html">&lt;P&gt;I have recently been investigating a exception raised when I call the click method of the LinkButtonTester within NunitASP.&lt;/P&gt;
&lt;P&gt;This wasn working fine with ASP.NET 1.1 but is now broken with ASP.NET 2.0.&lt;/P&gt;
&lt;P&gt;I debugged the operation of Nunit to see what was causing the exception and used a simple scenario with a aspx page with a link button.&lt;/P&gt;
&lt;P&gt;It turns out that the server was not emitting the __EVENTTARGET and __EVENTARGUMENT fields or the __doPostBack script, even though the anchor was still referencing the script.&lt;/P&gt;
&lt;P&gt;When I call the page via Internet Explorer, the page was emitting correctly.&lt;/P&gt;
&lt;P&gt;I can only assume that ASP.NET 2.0&amp;nbsp;is expecting something in the HTTP Request that NunitAsp is not currently providing.&lt;/P&gt;
&lt;P&gt;Does anyone have an ideas on this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=126991" width="1" height="1"&gt;</content><author><name>lancea</name><uri>http://weblogs.asp.net/members/lancea.aspx</uri></author><category term="Software development Methodology" scheme="http://weblogs.asp.net/lancea/archive/tags/Software+development+Methodology/default.aspx" /><category term="Visual Studio .Net" scheme="http://weblogs.asp.net/lancea/archive/tags/Visual+Studio+.Net/default.aspx" /></entry><entry><title>My presentation on CVS</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lancea/archive/2004/03/28/100804.aspx" /><id>http://weblogs.asp.net/lancea/archive/2004/03/28/100804.aspx</id><published>2004-03-28T22:58:00Z</published><updated>2004-03-28T22:58:00Z</updated><content type="html">&lt;P&gt;I was lucky enough to have the opportunity to conduct a presentation on CVS at the Melbourne Dot net user group.&lt;/P&gt;
&lt;P&gt;This experience has given me alot of valuable experience, I have decided to keep jumping in head first a get involved in more of this community activity. &lt;/P&gt;
&lt;P&gt;If I had the opportunity to another presentation on CVS, I would start with a clean system and demonstrate how easy it is to setup a CVS server, Client, and then add a repository.&lt;/P&gt;
&lt;P&gt;The other thing I found was that my knowledge of CVS was increased from audience questions and comments.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=100804" width="1" height="1"&gt;</content><author><name>lancea</name><uri>http://weblogs.asp.net/members/lancea.aspx</uri></author><category term="Team Environment" scheme="http://weblogs.asp.net/lancea/archive/tags/Team+Environment/default.aspx" /></entry><entry><title>Instant gratification</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/lancea/archive/2004/03/15/90156.aspx" /><id>http://weblogs.asp.net/lancea/archive/2004/03/15/90156.aspx</id><published>2004-03-16T01:49:00Z</published><updated>2004-03-16T01:49:00Z</updated><content type="html">&lt;P&gt;My first post to this&amp;nbsp;great blog framework (thanks Scott for all the effort behind this) is really to get that instant&amp;nbsp;gratification of getting something working.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=90156" width="1" height="1"&gt;</content><author><name>lancea</name><uri>http://weblogs.asp.net/members/lancea.aspx</uri></author></entry></feed>