<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>.NET</title>
        <link>http://geekswithblogs.net/rwandering/category/2779.aspx</link>
        <description>.NET</description>
        <language>en-US</language>
        <copyright>Robert W. Anderson</copyright>
        <managingEditor>jeff@techliteracy.net</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Digipede Webinar, November 1</title>
            <link>http://geekswithblogs.net/rwandering/archive/2005/10/28/58449.aspx</link>
            <description>&lt;P&gt;&lt;A href="http://westcoastgrid.blogspot.com/"&gt;Dan Ciruli&lt;/A&gt; and Nathan Trueblood will be running a webinar on the DN, showing how to speed up applications.&amp;nbsp; They do a great job of giving an overview of its power and functionality. &amp;nbsp;The focus of this webinar will be financial applications.&lt;/P&gt;
&lt;P&gt;Sign up to find out how our product can help you do more.&amp;nbsp; Faster.&lt;/P&gt;
&lt;P&gt;Go &lt;A href="http://www.digipede.net/products/webinar.html"&gt;here&lt;/A&gt;&amp;nbsp;for details on what will be covered and to sign up.&amp;nbsp; It is scheduled for 10AM Pacific and will be about 30 minutes.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=58449"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=58449" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rwandering/aggbug/58449.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert W. Anderson</dc:creator>
            <guid>http://geekswithblogs.net/rwandering/archive/2005/10/28/58449.aspx</guid>
            <pubDate>Fri, 28 Oct 2005 15:55:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rwandering/comments/58449.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rwandering/archive/2005/10/28/58449.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rwandering/comments/commentRss/58449.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rwandering/services/trackbacks/58449.aspx</trackback:ping>
        </item>
        <item>
            <title>2.0 Port Update: Finished (for now)</title>
            <link>http://geekswithblogs.net/rwandering/archive/2005/10/28/58397.aspx</link>
            <description>Now that I am finished with the port to VS2005 / .NET 2.0, I wanted to point out a few final issues I came across.  Note that we use the Preemptive Dotfuscator v3.0 here, but the obfuscation issues likely apply to other obfuscators as well:
&lt;p&gt;&lt;i&gt;New files in ASP.NET 2.0&lt;/i&gt; &lt;/p&gt;
&lt;p&gt;As the compilation model for ASP.NET has changed a great deal, there are also some new files that you must deploy.  Of course, this is not an issue if you use VS2005 to deploy directory to a web site, but if you are packaging up all of your files into an installer then make sure you include these new files:
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;*.resx &lt;/li&gt;
 &lt;li&gt;*.compiled
&lt;/li&gt;
 &lt;li&gt;PrecompiledApp.config&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In particular, I have found that if the *.compiled and PrecompiledApp.config file are not in place, your global events will not get raised.
&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Obfuscation Issue #1: Don't rename __ASP&lt;/i&gt; &lt;/p&gt;
&lt;p&gt;Exclude the __ASP namespace from the renamed.  This is a new namespace that is generated by the compiler, so you need to exclude this in your Dotfuscator project file:&lt;/p&gt;
&lt;pre&gt;&lt;font color="#000080"&gt;  &amp;lt;renaming&amp;gt;
    &amp;lt;excludelist&amp;gt;
        . . .
        &amp;lt;namespace name=&amp;quot;__ASP&amp;quot; regex=&amp;quot;false&amp;quot; /&amp;gt;
        . . .
    &amp;lt;/excludelist&amp;gt;
  &amp;lt;/renaming&amp;gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;Note that there is also a new ASP namespace, but I did not have to exclude 
this one because I was already excluding class names that are automatically 
placed under this namespace.&lt;/p&gt;

&lt;i&gt;Obfuscation Issue #2: Don't obfuscate multiple Web projects at once&lt;/i&gt;&lt;p&gt;Before ASP.NET 2.0, it was possible to obfuscate multiple Web projects at the same time (as long as all of the namespaces are unique across projects).  The new namespaces that are generated by the compiler (i.e., ASP and __ASP) will cause a conflict during obfuscation.  To solve this problem, you need to break up your obfuscations into multiple projects.
&lt;/p&gt;
&lt;p&gt;This last part is somewhat non-trivial (or at least a real hassle).  I have written many nant scripts that take build output and assemble them into a directory for obfuscation, breaks up the Dotfuscator configuration file, runs multiple obfuscation runs, and finally reassembles the files into individual folders for release.  
&lt;/p&gt;
&lt;p&gt;I am not going to blog on those specifics, but if you are interested in my solutions to these problems, feel free to contact me.&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=58397"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=58397" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rwandering/aggbug/58397.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert W. Anderson</dc:creator>
            <guid>http://geekswithblogs.net/rwandering/archive/2005/10/28/58397.aspx</guid>
            <pubDate>Fri, 28 Oct 2005 10:01:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rwandering/comments/58397.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rwandering/archive/2005/10/28/58397.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rwandering/comments/commentRss/58397.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rwandering/services/trackbacks/58397.aspx</trackback:ping>
        </item>
        <item>
            <title>Renaming ASP.NET 2.0 Assemblies Redux</title>
            <link>http://geekswithblogs.net/rwandering/archive/2005/10/27/58318.aspx</link>
            <description>I have posted a bit on merging ASP.NET 2.0 (without &lt;b&gt;aspnet_merge&lt;/b&gt;) and also on renaming ASP.NET 2.0 auto-named assemblies.  My first solution on renaming was incomplete in that
it would only work when there were no dependencies between the renamed assemblies.  
&lt;br&gt;This solution is correct and produces assemblies that properly get through Dotfuscator 3.0 / and actually run!&amp;nbsp;&amp;nbsp; 
All of the code below are either &lt;b&gt;nant&lt;/b&gt; targets or &lt;b&gt;nant&lt;/b&gt; tasks.&amp;nbsp; 
These should 
be generally applicable (with the right properties assigned).&lt;ol&gt;
 &lt;li&gt;
 Disassemble the assemblies with &lt;b&gt;ildasm&lt;/b&gt;. &lt;/li&gt;
 &lt;li&gt;
 Get the generated assembly name for a particular folder from a representative file (either an aspx or ascx).&lt;/li&gt;
 &lt;li&gt;
 Replace the assembly name for all files (pages, controls, and the il) with a fixed name (e.g., &amp;#8220;App_Web_Root&amp;#8221;). 
 &lt;/li&gt;
 &lt;li&gt;
 Reassemble and rename the assembly's DLL to the fixed name (using &lt;b&gt;ilasm&lt;/b&gt;). &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These targets assume the following properties are set:&lt;blockquote&gt;
 &lt;dl&gt;
  &lt;dt&gt;&lt;font size="2" face="Courier New"&gt;ProjectPath&lt;/font&gt;&lt;/dt&gt;
  &lt;dd&gt;the path to your build project directory&lt;/dd&gt;
  &lt;dt&gt;&lt;font size="2" face="Courier New"&gt;ildasm&lt;/font&gt;&lt;/dt&gt;
  &lt;dd&gt;the full path to the ildasm executable&lt;/dd&gt;
  &lt;dt&gt;&lt;font face="Courier New" size="2"&gt;ilasm&lt;/font&gt;&lt;/dt&gt;
  &lt;dd&gt;the full path to the ilasm executable&lt;/dd&gt;
 &lt;/dl&gt;
&lt;/blockquote&gt;
&lt;p&gt;The first part is disassembly (the most straight-forward part):
&lt;/p&gt;
&lt;pre&gt;&lt;font color="#000080" size="1"&gt; &lt;/font&gt;&lt;font color="#008080" size="1"&gt; &amp;lt;!-- disassembles all App_Web assemblies to il --&amp;gt;&lt;/font&gt;&lt;font color="#000080" size="1"&gt;
  &amp;lt;target name=&amp;quot;disassembleAspNet20Assemblies&amp;quot; &amp;gt;
    &amp;lt;foreach item=&amp;quot;File&amp;quot; property=&amp;quot;assembly&amp;quot;&amp;gt;
      &amp;lt;in&amp;gt;
        &amp;lt;items basedir=&amp;quot;${ProjectPath}\bin&amp;quot;&amp;gt;
          &amp;lt;include name=&amp;quot;App_Web*.dll&amp;quot; /&amp;gt;
        &amp;lt;/items&amp;gt;
      &amp;lt;/in&amp;gt;
      &amp;lt;do&amp;gt;
        &amp;lt;exec program=&amp;quot;${ildasm}&amp;quot; workingdir=&amp;quot;${ProjectPath}&amp;quot; commandline=&amp;quot;/out=${assembly}.il /nobar /raweh /utf8 /quoteallnames /linenumbers ${assembly}&amp;quot; /&amp;gt;
      &amp;lt;/do&amp;gt;
    &amp;lt;/foreach&amp;gt;
  &amp;lt;/target&amp;gt;&lt;/font&gt;&lt;/pre&gt;
The second part is to change the files to point to the new name:
&lt;pre&gt;&lt;font color="#000080" size="1"&gt; &lt;/font&gt;&lt;font color="#008080" size="1"&gt; &amp;lt;!-- Renames a generated-assembly for ASP.NET 2.0 --&amp;gt;
  &amp;lt;!-- 'page' property is a representative page or control in the folder --&amp;gt;
  &amp;lt;!-- 'fixedAssemblyName' property is the new desired name of the assembly --&amp;gt;
&lt;/font&gt;&lt;font color="#000080" size="1"&gt;  &amp;lt;target name=&amp;quot;renameAspNet20Assembly&amp;quot;&amp;gt;
    &amp;lt;loadfile property=&amp;quot;loadedPage&amp;quot; file=&amp;quot;${ProjectPath}\${page}&amp;quot; /&amp;gt;
&lt;/font&gt;&lt;font color="#008080" size="1"&gt;    &amp;lt;!-- get the assembly name from the representative page --&amp;gt;
&lt;/font&gt;&lt;font color="#000080" size="1"&gt;    &amp;lt;regex pattern=&amp;quot;(?'assembly'App_Web.+\s*)\042&amp;quot; input=&amp;quot;${loadedPage}&amp;quot; /&amp;gt;
&lt;/font&gt;&lt;font color="#008080" size="1"&gt;    &amp;lt;!-- store the assembly name to fixed name mapping --&amp;gt;
&lt;/font&gt;&lt;font color="#000080" size="1"&gt;    &amp;lt;property name=&amp;quot;${assembly}&amp;quot; value=&amp;quot;${fixedAssemblyName}&amp;quot;/&amp;gt;
&lt;/font&gt;&lt;font color="#008080" size="1"&gt;    &amp;lt;!-- copy all of the pages (and il), replacing this assembly name with the fixed name. --&amp;gt;
&lt;/font&gt;&lt;font color="#000080" size="1"&gt;    &amp;lt;copy todir=&amp;quot;${ProjectPath}/tmpBak&amp;quot; overwrite=&amp;quot;true&amp;quot;&amp;gt;
      &amp;lt;fileset basedir=&amp;quot;${ProjectPath}&amp;quot;&amp;gt;
        &amp;lt;include name=&amp;quot;**\*.as?x&amp;quot; /&amp;gt;
        &amp;lt;include name=&amp;quot;**\*.dll.il&amp;quot; /&amp;gt;
        &amp;lt;exclude name=&amp;quot;tmpBak\**&amp;quot; /&amp;gt;
      &amp;lt;/fileset&amp;gt;
      &amp;lt;filterchain&amp;gt;
        &amp;lt;replacestring from=&amp;quot;${assembly}&amp;quot; to=&amp;quot;${fixedAssemblyName}&amp;quot; /&amp;gt;
      &amp;lt;/filterchain&amp;gt;
    &amp;lt;/copy&amp;gt;
&lt;/font&gt;&lt;font color="#008080" size="1"&gt;    &amp;lt;!-- copy them all back --&amp;gt;
&lt;/font&gt;&lt;font color="#000080" size="1"&gt;    &amp;lt;copy todir=&amp;quot;${ProjectPath}&amp;quot; overwrite=&amp;quot;true&amp;quot;&amp;gt;
      &amp;lt;fileset basedir=&amp;quot;${ProjectPath}/tmpBak&amp;quot;&amp;gt;
        &amp;lt;include name=&amp;quot;**\*.as?x&amp;quot; /&amp;gt;
        &amp;lt;include name=&amp;quot;**\*.dll.il&amp;quot; /&amp;gt;
      &amp;lt;/fileset&amp;gt;
    &amp;lt;/copy&amp;gt;
  &amp;lt;/target&amp;gt;&lt;/font&gt;&lt;/pre&gt;
Finally, the assemblies must be reassembled:
&lt;pre&gt;&lt;font size="1" color="#000080"&gt;  &lt;/font&gt;&lt;font size="1" color="#008080"&gt;&amp;lt;!--  Reassembles all the App_Web*il into a new fixedAssembly.  --&amp;gt;
  &amp;lt;!-- This requires that the il's assembly name exists as a property that maps to the new fixedAssembly name.--&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#000080"&gt;  &amp;lt;target name=&amp;quot;reassembleAspNet20Assemblies&amp;quot; &amp;gt;
    &amp;lt;foreach item=&amp;quot;File&amp;quot; property=&amp;quot;assembly&amp;quot;&amp;gt;
      &amp;lt;in&amp;gt;
        &amp;lt;items basedir=&amp;quot;${ProjectPath}\bin&amp;quot;&amp;gt;
          &amp;lt;include name=&amp;quot;App_Web*.dll.il&amp;quot; /&amp;gt;
        &amp;lt;/items&amp;gt;
      &amp;lt;/in&amp;gt;
      &amp;lt;do&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#008080"&gt;        &amp;lt;!-- get the old DLL name --&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#000080"&gt;        &amp;lt;property name=&amp;quot;dllName&amp;quot; value=&amp;quot;${path::get-file-name-without-extension(assembly)}&amp;quot;/&amp;gt;
 &lt;/font&gt;&lt;font size="1" color="#008080"&gt;       &amp;lt;!-- get the old assembly name --&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#000080"&gt;        &amp;lt;property name=&amp;quot;assemblyOnly&amp;quot; value=&amp;quot;${path::get-file-name-without-extension(dllName)}&amp;quot;/&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#008080"&gt;        &amp;lt;!-- get the new, fixed assembly name --&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#000080"&gt;        &amp;lt;property name=&amp;quot;fixedAssemblyName&amp;quot; value=&amp;quot;${property::get-value(assemblyOnly)}&amp;quot;/&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#008080"&gt;        &amp;lt;!-- reassemble --&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#000080"&gt;        &amp;lt;exec program=&amp;quot;${ilasm}&amp;quot; workingdir=&amp;quot;${ProjectPath}&amp;quot; 
                  commandline=&amp;quot;/out=${ProjectPath}\bin\${fixedAssemblyName}.dll /dll /res=${ProjectPath}\bin\${dllName}.res ${assembly}&amp;quot; /&amp;gt; 
        &amp;lt;/do&amp;gt;
    &amp;lt;/foreach&amp;gt;
  &amp;lt;/target&amp;gt;&lt;/font&gt;&lt;/pre&gt;
Then, for each folder, I call the target like so: 
&lt;pre&gt;&lt;font size="1" color="#000080"&gt;    &lt;/font&gt;&lt;font size="1" color="#008080"&gt;&amp;lt;!--Dissasemble the assemblies--&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#000080"&gt;    &amp;lt;call target=&amp;quot;disassembleAspNet20Assemblies&amp;quot;/&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#008080"&gt;    &amp;lt;!-- use Administration.aspx as a proxy for the site's root directory --&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#000080"&gt;    &amp;lt;property name=&amp;quot;page&amp;quot; value=&amp;quot;Administration.aspx&amp;quot; /&amp;gt;
    &amp;lt;property name=&amp;quot;fixedAssemblyName&amp;quot; value=&amp;quot;App_Web.ControlRoot&amp;quot; /&amp;gt;
    &amp;lt;call target=&amp;quot;renameAspNet20Assembly&amp;quot; /&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#008080"&gt;    &amp;lt;!-- use Login.aspx as a proxy for the site's Secure directory --&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#000080"&gt;    &amp;lt;property name=&amp;quot;page&amp;quot; value=&amp;quot;Secure\Login.aspx&amp;quot; /&amp;gt;
    &amp;lt;property name=&amp;quot;fixedAssemblyName&amp;quot; value=&amp;quot;App_Web.Secure&amp;quot; /&amp;gt;
    &amp;lt;call target=&amp;quot;renameAspNet20Assembly&amp;quot; /&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#008080"&gt;    &amp;lt;!-- use Headers.ascx as a proxy for the site's Control directory --&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#000080"&gt;    &amp;lt;property name=&amp;quot;page&amp;quot; value=&amp;quot;Controls\Header.ascx&amp;quot; /&amp;gt;
    &amp;lt;property name=&amp;quot;fixedAssemblyName&amp;quot; value=&amp;quot;App_Web.Controls&amp;quot; /&amp;gt;
    &amp;lt;call target=&amp;quot;renameAspNet20Assembly&amp;quot; /&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#008080"&gt;    &amp;lt;!--reassemble the assemblies--&amp;gt;
&lt;/font&gt;&lt;font size="1" color="#000080"&gt;    &amp;lt;call target=&amp;quot;reassembleAspNet20Assemblies&amp;quot;/&amp;gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=58318"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=58318" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rwandering/aggbug/58318.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert W. Anderson</dc:creator>
            <guid>http://geekswithblogs.net/rwandering/archive/2005/10/27/58318.aspx</guid>
            <pubDate>Thu, 27 Oct 2005 14:48:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rwandering/comments/58318.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rwandering/archive/2005/10/27/58318.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rwandering/comments/commentRss/58318.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rwandering/services/trackbacks/58318.aspx</trackback:ping>
        </item>
        <item>
            <title>VS2005 RTM Available on MSDN Subscriber Downloads</title>
            <link>http://geekswithblogs.net/rwandering/archive/2005/10/27/58301.aspx</link>
            <description>&lt;P&gt;After much speculation by many (on whether or not it would be before the 7th), it is available.&lt;/P&gt;
&lt;P&gt;This is good news for those of us exhibiting at the VS launch -- we will be able to show off the &lt;a title="Digipede Network" href="http://www.digipede.net/products/digipede-network.html" &gt;Digipede Network&lt;/a&gt; from the final Visual Studio.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=58301"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=58301" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rwandering/aggbug/58301.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert W. Anderson</dc:creator>
            <guid>http://geekswithblogs.net/rwandering/archive/2005/10/27/58301.aspx</guid>
            <pubDate>Thu, 27 Oct 2005 13:02:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rwandering/comments/58301.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rwandering/archive/2005/10/27/58301.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rwandering/comments/commentRss/58301.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rwandering/services/trackbacks/58301.aspx</trackback:ping>
        </item>
        <item>
            <title>Renaming ASP.NET Assemblies (Correction)</title>
            <link>http://geekswithblogs.net/rwandering/archive/2005/10/24/57940.aspx</link>
            <description>&lt;P&gt;I found an error in my ASP.NET 2.0 assembly-renaming script (see&amp;nbsp;&lt;A id=_e62bd6426ec0128b_HomePageDays_DaysList__ctl0_DayItem_DayList__ctl2_TitleUrl href="http://geekswithblogs.net/rwandering/archive/2005/10/21/57651.aspx"&gt;Renaming ASP.NET Assemblies&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;The regular expression isn't matching all assembly names that might be generated by the compiler.&amp;nbsp; This expression does the trick:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;(?'assembly'App_Web.+\s*)\042&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Simply replacing the pattern in the nant regex task solves the problem.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57940"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57940" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rwandering/aggbug/57940.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert W. Anderson</dc:creator>
            <guid>http://geekswithblogs.net/rwandering/archive/2005/10/24/57940.aspx</guid>
            <pubDate>Mon, 24 Oct 2005 16:45:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rwandering/comments/57940.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rwandering/archive/2005/10/24/57940.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rwandering/comments/commentRss/57940.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rwandering/services/trackbacks/57940.aspx</trackback:ping>
        </item>
        <item>
            <title>Dan is off to Code Camp</title>
            <link>http://geekswithblogs.net/rwandering/archive/2005/10/21/57710.aspx</link>
            <description>&lt;P&gt;&lt;A href="http://westcoastgrid.blogspot.com/2005/10/code-camp-v10-this-weekend.html"&gt;Dan&lt;/A&gt;&amp;nbsp;is off to Code Camp in Seattle this weekend.&amp;nbsp; He'll be talking on Sunday @ 3 about grid-object oriented programming (what he calls GOOP).&amp;nbsp; He'll be talking about that and showing the &lt;a title="Digipede Network" href="http://www.digipede.net/products/digipede-network.html" &gt;Digipede Network&lt;/a&gt; at the same time.&lt;/P&gt;
&lt;P&gt;If you are going to be there drop by and see him.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57710"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57710" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rwandering/aggbug/57710.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert W. Anderson</dc:creator>
            <guid>http://geekswithblogs.net/rwandering/archive/2005/10/21/57710.aspx</guid>
            <pubDate>Fri, 21 Oct 2005 21:54:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rwandering/comments/57710.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rwandering/archive/2005/10/21/57710.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rwandering/comments/commentRss/57710.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rwandering/services/trackbacks/57710.aspx</trackback:ping>
        </item>
        <item>
            <title>VS2005 Ships!</title>
            <link>http://geekswithblogs.net/rwandering/archive/2005/10/21/57689.aspx</link>
            <description>&lt;P&gt;Where, I don't know.&amp;nbsp; It isn't yet on MSDN.&amp;nbsp; Robert Scoble said that it (and SQL Server 2005 + BizTalk 2006) are done in &lt;A href="http://scobleizer.wordpress.com/2005/10/21/three-vps-on-channel-9/" rel=bookmark&gt;&lt;FONT color=#000080&gt;Three VPs on Channel 9&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; Tonight is the shipping party.&lt;/P&gt;
&lt;P&gt;Congratulations to all of the teams at Microsoft that have been working on this!&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57689"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57689" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rwandering/aggbug/57689.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert W. Anderson</dc:creator>
            <guid>http://geekswithblogs.net/rwandering/archive/2005/10/21/57689.aspx</guid>
            <pubDate>Fri, 21 Oct 2005 16:43:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rwandering/comments/57689.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rwandering/archive/2005/10/21/57689.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rwandering/comments/commentRss/57689.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rwandering/services/trackbacks/57689.aspx</trackback:ping>
        </item>
        <item>
            <title>Renaming ASP.NET Assemblies</title>
            <link>http://geekswithblogs.net/rwandering/archive/2005/10/21/57651.aspx</link>
            <description>I have removed this solution in favor of a new, more robust, solution.&amp;nbsp; You can find it on my new blog, here: &lt;A id=viewpost.ascx_TitleUrl href="http://et.cairene.net/2005/10/27/renaming-aspnet-20-assemblies-redux/"&gt;Renaming ASP.NET 2.0 Assemblies Redux&lt;/A&gt;.&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57651"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57651" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rwandering/aggbug/57651.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert W. Anderson</dc:creator>
            <guid>http://geekswithblogs.net/rwandering/archive/2005/10/21/57651.aspx</guid>
            <pubDate>Fri, 21 Oct 2005 11:12:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rwandering/comments/57651.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rwandering/archive/2005/10/21/57651.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rwandering/comments/commentRss/57651.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rwandering/services/trackbacks/57651.aspx</trackback:ping>
        </item>
        <item>
            <title>Merging ASP.NET 2.0 without aspnet_merge</title>
            <link>http://geekswithblogs.net/rwandering/archive/2005/10/20/57585.aspx</link>
            <description>&lt;P&gt;This post and more can be found on my active blog, &lt;A href="http://et.cairene.net/2005/10/20/merging-aspnet-20-without-aspnet_merge/"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Apparently Microsoft will be releasing a tool called &lt;B&gt;aspnet_merge&lt;/B&gt; that will help resolve some of the shortcomings in the deployment options when precompiling ASP.NET 2.0 projects. This is supposed to be available on November 7th, but I don't feel like I want to wait. Thanks to the &lt;A href="http://www.dotnetnuke.com/"&gt;DotNetNuke&lt;/A&gt; guys for working with Microsoft on this. I'm really surprised that it got to be so late in Microsoft's development cycle before they figured out this was a problem. &lt;/P&gt;
&lt;P&gt;I thought I'd try &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=22914587-b4ad-4eae-87cf-b14ae6a939b0&amp;amp;displaylang=en"&gt;ILMerge&lt;/A&gt; to do it. Searching to see if someone else had, I came across this post by K. Scott Allen: &lt;A href="http://odetocode.com/Blogs/scott/archive/2005/10/06/2326.aspx"&gt;Using MSBuild and ILMerge to Package User Controls For Reuse&lt;/A&gt;. Similar problem, different goal. &lt;/P&gt;
&lt;P&gt;I went ahead and did this with &lt;B&gt;nant&lt;/B&gt; as that was the quickest way for me to get this into my release process. I admit this is all a kind of a hack. First, I search for all App_Web*.dll files. Then I replace all references in the &lt;B&gt;aspx&lt;/B&gt; and &lt;B&gt;ascx&lt;/B&gt; files with a reference to my new merged dll. Finally, I use &lt;B&gt;ILMerge&lt;/B&gt; to merge to the new dll. Note that I'm not merging everything, just the assemblies that have seemingly random names. &lt;/P&gt;
&lt;P&gt;The &lt;B&gt;nant&lt;/B&gt; code follows. It is a bit clumsy, but it works. &lt;/P&gt;&lt;FONT size=2&gt;&lt;PRE&gt;  &lt;property value="${BuildRoot}\PrecompiledWeb\${ProjectName}" name="ProjectPath"&gt;&lt;/property&gt;
  &lt;property value="c:\Program Files\Microsoft\ILMerge\ILMerge.exe" name="ilmergePath"&gt;&lt;/property&gt;
  &lt;property value="ControlMerged.dll" name="mergedAssemblyName"&gt;&lt;/property&gt;
  &lt;TARGET name="deploy"&gt;
    &lt;property value="" name="assemblyFiles"&gt;&lt;/property&gt;
    &lt;FOREACH property="assembly" item="File"&gt;
      &lt;IN&gt;
        &lt;ITEMS basedir="${ProjectPath}\bin"&gt;
          &lt;INCLUDE name="App_Web*.dll" /&gt;
        &lt;/ITEMS&gt;
      &lt;/IN&gt;
      &lt;DO&gt;
        &lt;property value="${assemblyFiles} ${assembly}" name="assemblyFiles"&gt;&lt;/property&gt;
        &lt;COPY overwrite="true" todir="${ProjectPath}/tmpBak"&gt;
          &lt;FILESET basedir="${ProjectPath}"&gt;
            &lt;INCLUDE name="**\*.as?x" /&gt;
            &lt;EXCLUDE name="tmpBak\**" /&gt;
          &lt;/FILESET&gt;
          &lt;FILTERCHAIN&gt;
            &lt;REPLACESTRING to="${path::get-file-name-without-extension(mergedAssemblyName)}" from="${path::get-file-name-without-extension(assembly)}" /&gt;
          &lt;/FILTERCHAIN&gt;
        &lt;/COPY&gt;
        &lt;COPY overwrite="true" todir="${ProjectPath}"&gt;
          &lt;FILESET basedir="${ProjectPath}/tmpBak"&gt;
            &lt;INCLUDE name="**\*.as?x" /&gt;
          &lt;/FILESET&gt;
        &lt;/COPY&gt;
      &lt;/DO&gt;
    &lt;/FOREACH&gt;
    &lt;EXEC workingdir="${ProjectPath}/bin" commandline="/out:${mergedAssemblyName} ${assemblyFiles}" program="${ilmergePath}" /&gt;
&lt;/PRE&gt;&lt;/FONT&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57585"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57585" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rwandering/aggbug/57585.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert W. Anderson</dc:creator>
            <guid>http://geekswithblogs.net/rwandering/archive/2005/10/20/57585.aspx</guid>
            <pubDate>Thu, 20 Oct 2005 17:54:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rwandering/comments/57585.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rwandering/archive/2005/10/20/57585.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rwandering/comments/commentRss/57585.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rwandering/services/trackbacks/57585.aspx</trackback:ping>
        </item>
        <item>
            <title>2.0 Port Update 3: On to Release Engineering</title>
            <link>http://geekswithblogs.net/rwandering/archive/2005/10/20/57545.aspx</link>
            <description>&lt;P&gt;I probably have not been clear in my previous posts about the overall methodology I'm following in our port to VS2005.&amp;nbsp; I have split my porting process into several different steps to isolate the effort into manageable slices.&amp;nbsp; These include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Porting the projects into VS2005 for ongoing development.&amp;nbsp; While doing this, I have insured that everything still builds with VS2003 while my team makes the transition to the new IDE.&amp;nbsp; I am avoiding the&amp;nbsp;temptation to fix the thousands of warnings related to deprecated functions.&amp;nbsp; That we will start fixing these as soon as the rest of the team is using VS2005.&amp;nbsp; 
&lt;LI&gt;Porting our release engineering process.&amp;nbsp; I view this as the next most critical item as I want to have our testers began working with the new versions as soon as possible.&amp;nbsp; Note that I'm leaving installs and install issues out of this altogether as this is not managed inside of my group. 
&lt;LI&gt;Continuous integration with CCNET.&amp;nbsp; 
&lt;LI&gt;&lt;a title="Digipede Network" href="http://www.digipede.net/products/digipede-network.html" &gt;Digipede Network&lt;/a&gt; product features regarding mixed .NET 1.1&amp;nbsp;/ .NET 2.0 environment and continued support for VS2003. 
&lt;LI&gt;Evaluation of WSE3 to determine its viability relating to our release schedule. 
&lt;LI&gt;(future) Evaluate performance improvements that can be achieved with .NET 2.0. 
&lt;LI&gt;(future) Evaluate Team System (regarding unit testing and source control) and its applicability in our environment.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;Wrapping up the Development portion&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;In addition to issues I brought up in my previous post (&lt;A href="http://www.geekswithblogs.net/rwandering/archive/2005/10/18/57285.aspx"&gt;2.0 Port Update: Mixed Progress&lt;/A&gt;), I have come across a few more:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;With the loss of the ASP.NET project file, many of the build properties are stored in the solution file.&amp;nbsp; I think this is unfortunate.&amp;nbsp; The ability to mix and match projects across different solutions gives the developer more flexibility (and I'm not a proponent of managing solution files in source control for this reason); however, this no longer really works with ASP.NET projects.&amp;nbsp; If we continue to keep solution files out of source control then critical build information won't be versioned.&amp;nbsp; This is not a huge problem, but I would rather not have to deal with this work-process issue while porting. 
&lt;LI&gt;A slight annoyance: the ASP.NET 2.0 Project Properties dialog includes text boxes for paths to files (e.g., an SNK file).&amp;nbsp; The UI for this translates the path into an absolute one.&amp;nbsp; This is misleading, because the paths are actually stored as relative.&amp;nbsp; It would be much more clear if the UI did no such translation.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;On to Release builds&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The release engineering process has gone fairly smoothly.&amp;nbsp; I have been able to remove the hanging reference problem that is a bug in Dotfuscator (I blogged on that in my old blog &lt;A href="http://rwandering.blogspot.com/2005/09/removing-hanging-assembly-reference_11.html"&gt;here&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;I have come across a somewhat major problem regarding&amp;nbsp;the new ASP.NET 2.0&amp;nbsp;compilation model (K. Scott Allen has a good article &lt;A href="http://odetocode.com/Articles/417.aspx"&gt;here&lt;/A&gt; on this subject).&amp;nbsp; I like the idea that multiple assemblies are now supported by the compiler; however, the way that the assemblies are named presents a problem for anyone who has automated the obfuscation (and possibly the building of installs).&amp;nbsp; My biggest issue right now is getting the three Web site projects that encompass our solution into a state where I can reliably send them through our obfuscator.&amp;nbsp; I will definitely blog on the solution I come up with.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57545"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=57545" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rwandering/aggbug/57545.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Robert W. Anderson</dc:creator>
            <guid>http://geekswithblogs.net/rwandering/archive/2005/10/20/57545.aspx</guid>
            <pubDate>Thu, 20 Oct 2005 13:16:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rwandering/comments/57545.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rwandering/archive/2005/10/20/57545.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rwandering/comments/commentRss/57545.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rwandering/services/trackbacks/57545.aspx</trackback:ping>
        </item>
    </channel>
</rss>