<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Ken Brubaker</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/default.aspx</link><description>The ClavèCoder</description><dc:language>en-US</dc:language><generator>CommunityServer 1.0 (Build: 1.0.1.50214)</generator><item><title>Microsoft banking on Managed Extensibility Framework (MEF)</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2008/07/25/microsofthiresformef.aspx</link><pubDate>Fri, 25 Jul 2008 21:07:00 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:491950</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/491950.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=491950</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://hammett.castleproject.org/?p=312"&gt;&lt;u&gt;Microsoft is hiring Verissimo de Oliveira&lt;/u&gt;&lt;/a&gt;, the founder of the Castle Project, which has one of most popular Dependency Injection (DI) frameworks for .NET, &lt;a href="http://www.castleproject.org/container/index.html"&gt;&lt;u&gt;Windsor&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;From &lt;a href="http://www.eweek.com/c/a/Linux-and-Open-Source/Is-Microsoft-Irrelevant/"&gt;&lt;u&gt;this eWeek article&lt;/u&gt;&lt;/a&gt;:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;In addition, Microsoft's hiring moves have reflected a move toward more "open"-minded individuals. For instance Hamilton Verissimo de Oliveira, founder of the Castle Project, recently said he will join Microsoft as project manager of the MEF (Managed Extensibility Framework) team. MEF provides developers with a tool to easily add extensibility to their applications and with minimal impact on existing code.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I would say Microsoft is serious about DI, no?&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=491950" width="1" height="1"&gt;</description></item><item><title>June 2008 Atlanta Cutting Edge .NET UG meeting: Entity Framework and Data Services</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2008/06/03/entityframeworkanddataservices.aspx</link><pubDate>Tue, 03 Jun 2008 13:56:00 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:473170</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>40</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/473170.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=473170</wfw:commentRss><description>&lt;p&gt;I was finally able to attend the June Atlanta Cutting Edge .NET UG meeting yesterday. &lt;a href="http://www.atlantace.com/"&gt;&lt;u&gt;Shawn Wildermuth&lt;/u&gt;&lt;/a&gt; gave a great presentation the on VS2008 SP1 data technologies: ADO.NET Entity Framework and ADO.NET Data Services (Astoria).&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Shawn's recommendations were:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The Entity Framework (EF) is for enterprises with a large, stable data store  &lt;li&gt;The most important part of EF is the Entity Data Model (EDM) itself. It is very robust in the mappings it can handle and the extensibility points available.  &lt;li&gt;Enterprises should hold off and see whether Microsoft and third parties will invest in the EDM. He recommends nHibernate for now.  &lt;li&gt;ADO.NET Data Services (DS) are only useful for Internet (not intranet or, presumably extranet) where data security is not an issue. His biggest concern was the serialization overhead. I basically interpret that to mean that you should not use DS for essentially 2 tier development.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Interesting points were:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Shawn was unsure whether EF exposes the model to consumers. I will have to investigate. He did believe, however, that the model is extensible.  &lt;li&gt;They don't have model/db generation from objects, but they DO have round tripping between the model and the data store.  &lt;li&gt;As discussed in the &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163399.aspx"&gt;&lt;u&gt;July 2007 MSDN article on EF&lt;/u&gt;&lt;/a&gt;, the Designer is lightweight and you should prepare yourself to be designing in angle brackets for the 1.0 release at least.  &lt;li&gt;In 1.0, at least, EF will &lt;em&gt;&lt;strong&gt;not&lt;/strong&gt;&lt;/em&gt; support &lt;a href="http://martinfowler.com/eaaCatalog/unitOfWork.html"&gt;&lt;u&gt;Unit of Work&lt;/u&gt;&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Plain_Old_CLR_Object"&gt;&lt;u&gt;POCO&lt;/u&gt;&lt;/a&gt; objects. It &lt;em&gt;&lt;strong&gt;will&lt;/strong&gt;&lt;/em&gt; support, however, what they call &lt;a href="http://www.datadeveloper.net/blogs/news/archive/2008/03/09/ruurd-boeke-makes-using-ipoco-easier-in-entity-framework.aspx"&gt;&lt;u&gt;IPOCO&lt;/u&gt;&lt;/a&gt;, which means the standard data binding interfaces of INotifyPropertyChanged and INotifyCollectionChanged.  &lt;li&gt;EF can only model/update a single database in 1.0  &lt;li&gt;DS is a simple proxy layer (my words) over any LINQ source (IQueryable).  &lt;li&gt;DS provides a command line code code generation step that provides a client side LINQ interface for .NET and Silverlight and a LINQ-like interface for ECMAScript. Nice. Anyone have a MSBuild task for it yet?&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=473170" width="1" height="1"&gt;</description></item><item><title>Visual Studio Team System Edition Names and Acronyms</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2008/05/02/466913.aspx</link><pubDate>Fri, 02 May 2008 13:28:54 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:466913</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/466913.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=466913</wfw:commentRss><description>&lt;p&gt;A common question in my mind is how to correctly refer to the various editions of Team System in a short form. Since the full name is so long:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Visual Studio Team System 2008 Database Edition&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;for example.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Gert Draper, the architect on the Team Database Edition team, &lt;a href="http://blogs.msdn.com/gertd/archive/2007/11/21/visual-studio-team-system-2008-database-edition.aspx"&gt;&lt;u&gt;suggests&lt;/u&gt;&lt;/a&gt; using &lt;strong&gt;VSDB&lt;/strong&gt; for the Database edition and &lt;strong&gt;VSDE&lt;/strong&gt; for the developer edition. However, &lt;a href="http://blogs.msdn.com/gertd/archive/2008/02/16/database-compatibility-level.aspx"&gt;he also uses&lt;/a&gt; &lt;strong&gt;VSTS-DB&lt;/strong&gt;. Team Database Edition is used by the install program.&lt;/p&gt; &lt;p&gt;So using the names from the &lt;a href="http://msdn.microsoft.com/en-us/vsts2008/products/bb933734.aspx"&gt;&lt;u&gt;product page&lt;/u&gt;&lt;/a&gt;, let's create a naming convention list:&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2"&gt;  &lt;tr&gt; &lt;td align="middle"&gt;&lt;strong&gt;Full Name&lt;/strong&gt;&lt;/td&gt; &lt;td align="middle"&gt;&lt;strong&gt;Short Name&lt;/strong&gt;&lt;/td&gt; &lt;td align="middle"&gt;&lt;strong&gt;Long Acronym&lt;/strong&gt;&lt;/td&gt; &lt;td align="middle"&gt;&lt;strong&gt;Short Acronym&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Visual Studio Team System 2008 Team Suite&lt;/td&gt; &lt;td&gt;Team Suite&lt;/td&gt; &lt;td&gt;VSTS-STE&lt;/td&gt; &lt;td&gt;VSTS&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Visual Studio Team System 2008 Architecture Edition&lt;/td&gt; &lt;td&gt;Team Architecture Edition&lt;/td&gt; &lt;td&gt;VSTS-AE&lt;/td&gt; &lt;td&gt;VSAE&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Visual Studio Team System 2008 Developer Edition&lt;/td&gt; &lt;td&gt;Team Developer Edition&lt;/td&gt; &lt;td&gt;VSTS-DE&lt;/td&gt; &lt;td&gt;VSDE&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Visual Studio Team System 2008 Database Edition&lt;/td&gt; &lt;td&gt;Team Database Edition&lt;/td&gt; &lt;td&gt;VSTS-DB&lt;/td&gt; &lt;td&gt;VSDB&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Visual Studio Team System 2008 Test Edition&lt;/td&gt; &lt;td&gt;Team Test Edition&lt;/td&gt; &lt;td&gt;VSTS-TE&lt;/td&gt; &lt;td&gt;VSTE&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Visual Studio Team System 2008 Team Foundation Server&lt;/td&gt; &lt;td&gt;Team Foundation Server&lt;/td&gt; &lt;td&gt;VSTS-TFS&lt;/td&gt; &lt;td&gt;TFS&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Any suggested alterations?&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=466913" width="1" height="1"&gt;</description></item><item><title>New Unit Test Harness: xUnit.net</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2008/04/25/xunitdotnet.aspx</link><pubDate>Fri, 25 Apr 2008 16:44:00 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:466263</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/466263.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=466263</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.codeplex.com/xunit"&gt;&lt;u&gt;xUnit.net&lt;/u&gt;&lt;/a&gt; 1.0, just released, is an update to NUnit 2.0 that encodes some unit testing best practices and leverages .NET 2.0 technologies like generics. Intro &lt;a href="http://www.codeplex.com/xunit/Wiki/View.aspx?title=WhyDidWeBuildXunit&amp;referringTitle=Home"&gt;&lt;u&gt;here&lt;/u&gt;&lt;/a&gt; and download &lt;a href="http://www.codeplex.com/xunit/Release/ProjectReleases.aspx?ReleaseId=12516"&gt;&lt;u&gt;here&lt;/u&gt;&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;If you don't have Visual Studio Team Developer Edition, consider using xUnit.net for your development project unit testing.&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=466263" width="1" height="1"&gt;</description></item><item><title>INSTALLATION: SQLCMD redist for install packages</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2008/04/22/465548.aspx</link><pubDate>Tue, 22 Apr 2008 14:32:09 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:465548</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/465548.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=465548</wfw:commentRss><description>&lt;p&gt;It is common to use SQL Scripts to create or initialize a DB from a setup program. For example &lt;a href="http://blogs.msdn.com/gertd/archive/2007/01/08/variables-to-the-rescue.aspx"&gt;&lt;u&gt;TS DB Pro integrates with SQLCMD variable syntax&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;One issue with this is that an MSI may need access to SQLCMD.exe. I've picked up the bits from a local SQL Server 2005 installation, but you don't have to do that. &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=50b97994-8453-4998-8226-fa42ec403d17&amp;amp;DisplayLang=en"&gt;&lt;u&gt;Feature Pack for Microsoft SQL Server 2005&lt;/u&gt;&lt;/a&gt; provides a redistributable package for just SQLCMD:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;b&gt;Microsoft SQL Server 2005 Command Line Query Utility&lt;/b&gt; &lt;ul&gt;The SQLCMD utility allows users to connect, send Transact-SQL batches, and output rowset information from SQL Server 7.0, SQL Server 2000, and SQL Server 2005 instances. SQLCMD is a replacement for ISQL and OSQL, but can coexist with installations that have ISQL or OSQL installed.&lt;br&gt;&lt;b&gt;Note:&lt;/b&gt; Microsoft SQL Server 2005 Command Line Query Utility requires &lt;b&gt;Microsoft SQL Server Native Client&lt;/b&gt;, also available on this page.&lt;br&gt;Audience(s): &lt;b&gt;Customer, Partner, Developer&lt;/b&gt; &lt;ul&gt;&lt;b&gt;&lt;a href="http://download.microsoft.com/download/2/7/c/27c60d49-6dbe-423e-9a9e-1c873f269484/SQLServer2005_SQLCMD.msi"&gt;X86 Package&lt;/a&gt;&lt;/b&gt; (SQLServer2005_SQLCMD.msi) - 2535 KB&lt;br&gt;&lt;b&gt;&lt;a href="http://download.microsoft.com/download/2/7/c/27c60d49-6dbe-423e-9a9e-1c873f269484/SQLServer2005_SQLCMD_x64.msi"&gt;X64 Package&lt;/a&gt;&lt;/b&gt; (SQLServer2005_SQLCMD_x64.msi) - 4273 KB&lt;br&gt;&lt;b&gt;&lt;a href="http://download.microsoft.com/download/2/7/c/27c60d49-6dbe-423e-9a9e-1c873f269484/SQLServer2005_SQLCMD_ia64.msi"&gt;IA64 Package&lt;/a&gt;&lt;/b&gt; (SQLServer2005_SQLCMD_ia64.msi) - 5424 KB&lt;/ul&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=465548" width="1" height="1"&gt;</description></item><item><title>KENGHLISH: Saying for implicit rules</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2008/04/22/implicitrules.aspx</link><pubDate>Tue, 22 Apr 2008 13:43:00 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:465545</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/465545.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=465545</wfw:commentRss><description>&lt;blockquote&gt; &lt;p&gt;Assume everything is implicit unless you are told otherwise.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I generally consider it bad practice to have encoded fields in tables and implicit rules in objects. You should generally make your rules explicit by creating calculated columns, views, &amp; etc for databases and creating properties for classes that encode the rules.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Example:&lt;/p&gt; &lt;p&gt;public bool IsBest { get { return rating &gt;= 3; } }&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=465545" width="1" height="1"&gt;</description></item><item><title>Yes you CAN build .Net 3.5 apps from VS 2005</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2008/04/17/dotnet35fromVS2005.aspx</link><pubDate>Thu, 17 Apr 2008 14:53:00 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:464660</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/464660.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=464660</wfw:commentRss><description>&lt;p&gt;According to &lt;a href="http://geekswithblogs.net/cyoung/archive/2007/12/01/117279.aspx"&gt;&lt;u&gt;Charles Young&lt;/u&gt;&lt;/a&gt; you simply need to install .Net 3.5 and change any relevant assembly references to .Net 3.5 versions. Of course, you can use the new language features such as the LINQ query syntax. But you could use the extension methods as regular static methods, for example.  &lt;p&gt;  &lt;p&gt;However, in Scott Gutherie’s &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx"&gt;&lt;u&gt;blog entry&lt;/u&gt;&lt;/a&gt; on the release of VS2008/.NET 3.5 &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx#5285897"&gt;&lt;u&gt;this comment&lt;/u&gt;&lt;/a&gt; specifies a problem with upgrading the Ajax code. (Or maybe he did &lt;b&gt;not&lt;/b&gt; upgrade the Ajax code.) From &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx#5289885"&gt;&lt;u&gt;Scott’s reply&lt;/u&gt;&lt;/a&gt; they are not expecting any issues with the upgrade. There are tons of comments to this blog entry I may be work your wile to peruse the list to see if there are any other potential gotchas.  &lt;p&gt;Daniel Moth &lt;a href="http://www.danielmoth.com/Blog/2007/06/net-framework-35.html"&gt;&lt;u&gt;affirms&lt;/u&gt;&lt;/a&gt; that the “Red Bits” of 3.5 are just the SP1 for .NET 2.0 and .NET 3.0. &lt;p&gt;&lt;a href="http://www.west-wind.com/WebLog/posts/289139.aspx"&gt;&lt;u&gt;A word of warning from Rick Straw&lt;/u&gt;&lt;/a&gt;: From an administrative standpoint the CLR is still at v2.0.&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=464660" width="1" height="1"&gt;</description></item><item><title>Microsoft Command Line Standard</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2008/01/31/commandlinestandard.aspx</link><pubDate>Thu, 31 Jan 2008 11:32:00 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:429305</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>1</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/429305.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=429305</wfw:commentRss><description>&lt;p&gt;The Microsoft PowerShell team published an important standard: &lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/cmdline_std.mspx"&gt;&lt;u&gt;Microsoft Command Line Standard&lt;/u&gt;&lt;/a&gt;. As PM Jeffrey Snover explains in his &lt;a href="http://blogs.msdn.com/powershell/archive/2007/05/17/microsoft-command-line-standard.aspx"&gt;&lt;u&gt;post&lt;/u&gt;&lt;/a&gt;, the document is divided in three sections: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/cmdline_std.mspx#EXB"&gt;&lt;u&gt;Two page quick reference&lt;/u&gt;&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/cmdline_std.mspx#ERF"&gt;&lt;u&gt;Detailed guidance&lt;/u&gt;&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/cmdline_std.mspx#EWHAC"&gt;&lt;u&gt;Appendices&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Snover's core recommendation is, if course, to create PowerShell Cmdlets so you can easily support this standard.&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=429305" width="1" height="1"&gt;</description></item><item><title>Quick introduction to Windows Workflow Foundation (WF) Basic Activities</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2008/01/22/basicactivitiesintro.aspx</link><pubDate>Tue, 22 Jan 2008 18:46:00 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:424403</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/424403.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=424403</wfw:commentRss><description>&lt;p&gt;K. Scott Alan has a great, &lt;a href="http://www.odetocode.com/Articles/455.aspx"&gt;&lt;u&gt;concise introduction&lt;/u&gt;&lt;/a&gt; to the System.Workflow.Activities classes.&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=424403" width="1" height="1"&gt;</description></item><item><title>How to create AppDomain instances for Team Test Unit Tests</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2007/12/14/unittestappdomain.aspx</link><pubDate>Fri, 14 Dec 2007 21:52:00 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:397360</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/397360.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=397360</wfw:commentRss><description>&lt;p&gt;I'm creating an application service that manages multiple AppDomains for worker threads. You have to do this in just the right way to get it to work with Visual Studio Team Edition unit tests.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Set &lt;a href="http://msdn2.microsoft.com/en-us/library/system.appdomainsetup.applicationbase.aspx"&gt;&lt;u&gt;ApplicationBase&lt;/u&gt;&lt;/a&gt;  &lt;li&gt;Set &lt;a href="http://msdn2.microsoft.com/en-us/library/system.appdomainsetup.configurationfile.aspx"&gt;&lt;u&gt;ConfigurationFile&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;When you manually create an AppDomain using &lt;a href="http://msdn2.microsoft.com/en-us/library/system.appdomainsetup.configurationfile.aspx"&gt;&lt;u&gt;AppDomain.CreateInstance&lt;/u&gt;&lt;/a&gt; the defaults for settings are the executable's values. This is fine for a normal application. However, for unit tests, your code is running in an AppDomain other than the executable's domain, so that all the DLLs etc. can be loaded (NUnit works the same way). When you create instances in the new AppDomain, the type resolver is suddenly looking in the folder of the unit test harness executable, rather than in your test assembly's folder. You fix the problem by creating an &lt;a href="http://msdn2.microsoft.com/en-us/library/system.appdomainsetup.aspx"&gt;AppDomainSetup&lt;/a&gt; instance and setting the ApplicationBase path to your own AppDomain's value. If that AppDomain is going to access your configuration file, be sure to also set the ConfigurationFile property to your AppDomain's value, also. The example I saw on the Team Test forum also set the AppDomain's Evidence to match the current AppDomain's also. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt; &lt;div&gt; &lt;p&gt;    &lt;span&gt;AppDomain&lt;/span&gt; currentDomain = &lt;span&gt;AppDomain&lt;/span&gt;.CurrentDomain;&lt;/p&gt; &lt;p&gt;    &lt;span&gt;AppDomainSetup&lt;/span&gt; currentInfo = currentDomain.SetupInformation;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;    &lt;span&gt;string&lt;/span&gt; fiendlyName = &lt;span&gt;"FriendlyName"&lt;/span&gt;;&lt;/p&gt; &lt;p&gt;    &lt;span&gt;Evidence&lt;/span&gt; securityInfo = &lt;span&gt;new&lt;/span&gt; &lt;span&gt;Evidence&lt;/span&gt;(currentDomain.Evidence);&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;    &lt;span&gt;AppDomainSetup&lt;/span&gt; info = &lt;span&gt;new&lt;/span&gt; &lt;span&gt;AppDomainSetup&lt;/span&gt;();&lt;/p&gt; &lt;p&gt;    info.ApplicationBase = currentInfo.ApplicationBase;&lt;/p&gt; &lt;p&gt;    info.ConfigurationFile = currentInfo.ConfigurationFile;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;    &lt;span&gt;AppDomain&lt;/span&gt; domain = &lt;span&gt;AppDomain&lt;/span&gt;.CreateDomain(fiendlyName, securityInfo, info);&lt;/p&gt;&lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=380692&amp;SiteID=1&amp;pageid=0"&gt;&lt;u&gt;Can't load assembly in a new AppDomain during a unit test&lt;/u&gt;&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=177464&amp;SiteID=1"&gt;&lt;u&gt;Why am I not able to change the app config file using the assembly initialize method of a unit test?&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=397360" width="1" height="1"&gt;</description></item><item><title>MS Volta: Boundaries Are Implicit</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2007/12/07/392522.aspx</link><pubDate>Fri, 07 Dec 2007 14:52:19 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:392522</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/392522.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=392522</wfw:commentRss><description>&lt;p&gt;It looks like &lt;a href="http://research.microsoft.com/~emeijer/"&gt;&lt;u&gt;Eric Meijer&lt;/u&gt;&lt;/a&gt; has taken &lt;a href="http://pluralsight.com/blogs/dbox/archive/2007/08/15/48232.aspx"&gt;&lt;u&gt;retiring the the four tenets&lt;/u&gt;&lt;/a&gt; to heart. &lt;a href="http://lambda-the-ultimate.org/node/2563"&gt;&lt;u&gt;In his CTP announcement blog entry&lt;/u&gt;&lt;/a&gt;, Meijer states that Microsoft's project code-named Volta, service boundaries are crossed by decorating a class with [RunAtOrigin] and configuring for the origin on the application tier (disclaimer: I haven't yet looked at the implementation details of &lt;a href="http://labs.live.com/volta/download/"&gt;&lt;u&gt;Volta&lt;/u&gt;&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;This does not bode well for the contract-first folks and doesn't seemed to be aimed at long-lived commercial software. That focus would fit in well with Linq to SQL's target audience though.&lt;/p&gt; &lt;p&gt;I guess life is a &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Popfly"&gt;&lt;u&gt;mashup&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=392522" width="1" height="1"&gt;</description></item><item><title>InRule delivers InRule for Workflow Foundation</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2007/12/06/inruleforwf.aspx</link><pubDate>Thu, 06 Dec 2007 13:32:32 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:391554</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/391554.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=391554</wfw:commentRss><description>&lt;p&gt;In a large business services enterprise there may be several lines of businesses that have swiftly changing business rules. Windows Workflow Foundation (WF) was designed to provide a way to implement business processes and rules without coding.&lt;/p&gt; &lt;p&gt;Before WF came out, I saw several lines of businesses at Aon using &lt;a href="http://www.inrule.com/"&gt;&lt;u&gt;InRule&lt;/u&gt;&lt;/a&gt; for this purpose. Now, InRule has released InRule for &lt;a href="http://www.inrule.com/products/InRuleWorkflowFoundation.aspx"&gt;&lt;u&gt;Windows Workflow Foundation&lt;/u&gt;&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;Here are the bullet points from their marketing page:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;An authoring environment that enables both developers and non-technical users to easily author, test, and maintain business rules the WF rules engine.  &lt;li&gt;Capabilities to extend the Windows Workflow Foundation rules engine, including decision tables and 90+ built in functions.  &lt;li&gt;A Rule Catalog to manage rule check-in/check-out, versioning, and permissions across systems.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I would encourage any enterprise with a strong Windows stack in some of their business unites to consider InRule as a rules engine standard.&lt;/p&gt; &lt;p&gt;They support WF alone and BizTalk Server, so it can scale with the size of a project. It has it's own version control system and deployment model. I can only hope it's better then Crystal XI. Regardless there will be work in that area to integrate rules deployment with your software releases.&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=391554" width="1" height="1"&gt;</description></item><item><title>No need for revision comments in code</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2007/11/21/tfsannotations.aspx</link><pubDate>Wed, 21 Nov 2007 13:54:20 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:375421</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>2</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/375421.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=375421</wfw:commentRss><description>&lt;p&gt;With the release of Visual Studio 2008 and TFS 2008, there is now even less of a reason to place any revision comments in the code base. Once upon a time all reputable source control systems had a keyword expansion feature that included the revision comments for all revisions in the source file.&lt;/p&gt; &lt;p&gt;Version control managers&amp;nbsp;de-emphasize this feature because users should use the repository for&amp;nbsp;getting comments, which is tooling accessible and if readers rely on the code base for the revision comments, developers are less likely to provide good revision comments.&lt;/p&gt; &lt;p&gt;The keywords feature is totally removed from TFS. I think this is a mistake (though welcome because keyword support is a pain). I have heard that there are some compliance requirements that comments for code changes must&amp;nbsp;appear in the code base. Of course the requirement itself is from the&amp;nbsp;dark ages, but nonetheless, it should be supported.&lt;/p&gt; &lt;p&gt;Apart from &amp;nbsp;those that must support the above requirement, some development teams prefer inline revision comments (i.e., &lt;font color="#008000"&gt;// RKK 03/02/98: Fixed bug 2937&lt;/font&gt; ) so that they know that a certain area of code has been "touched," since, as we all know, fixing one bug begets another and finding who touched a line of code in a version control system usually requires a binary search of diff'ing to find the offender.&lt;/p&gt; &lt;p&gt;TFS 2008 and VS2008 fix this problem. The new &lt;a href="http://www.codinghorror.com/blog/archives/000992.html"&gt;&lt;u&gt;annotations feature&lt;/u&gt;&lt;/a&gt; permits one to easily see exactly who updated each line of code with a quick link to revision comments.&lt;/p&gt; &lt;p&gt;This feature has been provided with the TFS Power Tools for a while now. However with its integration into the IDE, it is a simple case for version control managers to make to prohibit the use of file header and inline revision comments.&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=375421" width="1" height="1"&gt;</description></item><item><title>Building Team Data (DBPro) projects in Team Build</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2007/11/08/dbprointeambuild.aspx</link><pubDate>Thu, 08 Nov 2007 18:39:00 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:357945</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/357945.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=357945</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/buckh/default.aspx"&gt;&lt;u&gt;Buck Hodges&lt;/u&gt;&lt;/a&gt; shares how to solve these five issues in this very useful &lt;a href="http://blogs.msdn.com/buckh/archive/2007/09/11/vsts-2005-and-2008-building-database-projects-with-team-build.aspx"&gt;&lt;u&gt;post&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Issue #1: Team Build service account does not have the required SQL Server permissions or cannot connect to SQL Server  &lt;li&gt;Issue #2: Values for TargetDatabase, TargetConnectionString, or DefaultDataPath are missing or incorrect  &lt;li&gt;Issue #3: The New Build Definition dialog does not provide a “Default” configuration option  &lt;li&gt;Issue #4: The Deploy target is not invoked when built via Team Build  &lt;li&gt;Issue #5: Database Unit Tests cannot find database project files, data generation plans, or the database instance(s) to be used for running tests when run via Team Build&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=357945" width="1" height="1"&gt;</description></item><item><title>IDesign C# Coding Standard</title><link>http://www.dotnetjunkies.com/WebLog/kenbrubaker/archive/2007/11/08/idesigncsharpstandard.aspx</link><pubDate>Thu, 08 Nov 2007 17:45:00 GMT</pubDate><guid isPermaLink="false">58df7014-fd75-437c-9641-150997716d1c:357904</guid><dc:creator>kenbrubaker</dc:creator><slash:comments>0</slash:comments><comments>http://www.dotnetjunkies.com/WebLog/kenbrubaker/comments/357904.aspx</comments><wfw:commentRss>http://www.dotnetjunkies.com/WebLog/kenbrubaker/commentrss.aspx?PostID=357904</wfw:commentRss><description>&lt;p&gt;IDesign has updated their C# Coding Guidelines. (&lt;a href="http://www.idesign.net/idesign/download/IDesign%20CSharp%20Coding%20Standard.zip"&gt;&lt;u&gt;download&lt;/u&gt;&lt;/a&gt;). A previous version can be found in Juval Lowy's  &lt;a href="http://books.google.com/books?id=dSiuGk0RZ4gC&amp;printsec=frontcover"&gt;&lt;u&gt;Programming .NET Components&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.dotnetjunkies.com/WebLog/aggbug.aspx?PostID=357904" width="1" height="1"&gt;</description></item></channel></rss>