<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>clraddins Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Home</link><description>clraddins Wiki Rss Description</description><item><title>New Comment on "samples"</title><link>http://clraddins.codeplex.com/wikipage?title=samples&amp;ANCHOR#C18063</link><description>The &amp;#34;Event Sample&amp;#34; sample those not seem to work. I downloed the source, opened it in visual studio 2008 and try to compile it and I get a bounch of compile errors. I think the problem is that referenced PipelineHints file does not exist. Did andybody had a similiar problem&amp;#63;</description><author>koleraba</author><pubDate>Tue, 28 Dec 2010 16:22:58 GMT</pubDate><guid isPermaLink="false">New Comment on "samples" 20101228042258P</guid></item><item><title>New Comment on "Using the VS Add-In"</title><link>http://clraddins.codeplex.com/Wiki/View.aspx?title=Using the VS Add-In&amp;ANCHOR#C13715</link><description>There appears to be an issue using VS2008 on Windows7.  When generating the pipeline for the 1st time it calls each of the assemblies Template rather than say &amp;#34;AddInViews&amp;#34;.  This causes issues when building the AddInStore.&amp;#10;&amp;#10;To fix it make sure all the projects generate the assembly using the same name as the project generated by the tool.</description><author>rogeclub</author><pubDate>Sat, 05 Sep 2009 10:25:27 GMT</pubDate><guid isPermaLink="false">New Comment on "Using the VS Add-In" 20090905102527A</guid></item><item><title>New Comment on "Samples"</title><link>http://clraddins.codeplex.com/Wiki/View.aspx?title=Samples&amp;ANCHOR#C13305</link><description>This samples is a great help for those who are new in creating applications with add-ins just like me. Thought they a complicated a bit and have lack of comments and documentation.</description><author>evgenyvinnik</author><pubDate>Mon, 06 Jul 2009 11:51:41 GMT</pubDate><guid isPermaLink="false">New Comment on "Samples" 20090706115141A</guid></item><item><title>Updated Wiki: Add-in FxCop Rules</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Add-in FxCop Rules&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Add-in FxCop Rules
&lt;/h1&gt;One of the common requests we get is for a way to verify that Contract and View assemblies are built using the right practices with regard to isolation and version resilience. We have developed two sets of FxCop rules for this purpose:&lt;br /&gt; &lt;br /&gt;The Add-in View FxCop rules run against view assemblies and ensure that a host's object model (view) can be easily adapted into a complete pipeline that uses the Add-in Framework.&lt;br /&gt; &lt;br /&gt;The Add-in Contract FxCop rules ensure that contracts follow the contract isolation and version-resilience guidelines. This ensures that contracts built today will meet versioning needs when moving to a new version of the host.&lt;br /&gt; &lt;br /&gt;You can &lt;b&gt;download&lt;/b&gt; the latest release here: &lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=14993"&gt;Add-in FxCop Rules - v1.0 beta&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>mSid</author><pubDate>Tue, 02 Dec 2008 21:53:02 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Add-in FxCop Rules 20081202095302P</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Home&amp;version=9</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Introduction&lt;/b&gt;&lt;br /&gt;Welcome to the CodePlex site for the Managed Extensibility and Add-In Team. This site will be the home to both samples and tools designed to help you make the best use of the new System.AddIn features in the .Net FX v3.5.  We'll continue to use our blog &lt;a href="http://blogs.msdn.com/clraddins/" class="externalLink"&gt;http://blogs.msdn.com/clraddins/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; for information and discussion about our work, but from now on we'll be hosting our samples here for easier access. &lt;br /&gt; &lt;br /&gt;The initial focus will be on two things: &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Bringing over &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=samples&amp;amp;referringTitle=Home"&gt;samples&lt;/a&gt; from the team blog to this site&lt;/li&gt;&lt;li&gt;The release of the &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Pipeline%20Builder&amp;amp;referringTitle=Home"&gt;Pipeline Builder&lt;/a&gt; tool&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;For more information on our work please see our additional &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=resources&amp;amp;referringTitle=Home"&gt;resources&lt;/a&gt; page.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Project Description: &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Add-in%20FxCop%20Rules&amp;amp;referringTitle=Home"&gt;Add-in FxCop Rules&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;One of the common requests we get is for a way to verify that Contract and View assemblies are built using the right practices with regard to isolation and version resilience. We have developed two sets of FxCop rules for this purpose. Head over to the project page to download them: &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Add-in%20FxCop%20Rules&amp;amp;referringTitle=Home"&gt;Add-in FxCop Rules&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Project Description: &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Pipeline%20Builder&amp;amp;referringTitle=Home"&gt;Pipeline Builder&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;This has been one of the most requested features we've had since people started learning more about our model and playing with the bits. For a particular version of an application writing the code for the views and adapters can be a lot of mechanical repetitious work and generally only gets interesting when you are writing &amp;quot;cross-version&amp;quot; adapters. So what we've done is build a tool that will automatically generate the source code for the views and adapters for a given contract assembly. This tool is really just a library that can be used from various other places and our release will include a simple command line tool as well as a VS 2008 add-in that will automatically generate the projects and set references/build paths for you appropriately. For more information on this tool as well as links and descriptions of our releases please visit its wiki page: &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Pipeline%20Builder&amp;amp;referringTitle=Home"&gt;Pipeline Builder&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Project Description: &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Samples&amp;amp;referringTitle=Home"&gt;Samples&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;Up until now we've been posting our samples to our blog but that doesn’t scale well as we add more samples and update existing ones. To make it easier for us to post samples, and you to find them, we'll start using this site. Currently we’ve just ported over all the existing samples that we’ve published (on our blog and through articles) but soon we'll start posting some of the other internal samples we've built as well as responding to requests from the community.&lt;br /&gt;
&lt;/div&gt;</description><author>mSid</author><pubDate>Thu, 03 Jul 2008 19:20:17 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20080703072017P</guid></item><item><title>Updated Wiki: Add-in FxCop Rules</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Add-in FxCop Rules&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
One of the common requests we get is for a way to verify that Contract and View assemblies are built using the right practices with regard to isolation and version resilience. We have developed two sets of FxCop rules for this purpose:&lt;br /&gt; &lt;br /&gt;The Add-in View FxCop rules run against view assemblies and ensure that a host's object model (view) can be easily adapted into a complete pipeline that uses the Add-in Framework.&lt;br /&gt; &lt;br /&gt;The Add-in Contract FxCop rules ensure that contracts follow the contract isolation and version-resilience guidelines. This ensures that contracts built today will meet versioning needs when moving to a new version of the host.&lt;br /&gt; &lt;br /&gt;You can download the latest release here: &lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=14993"&gt;Add-in FxCop Rules - v1.0 beta&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>mSid</author><pubDate>Thu, 03 Jul 2008 19:18:33 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Add-in FxCop Rules 20080703071833P</guid></item><item><title>UPDATED WIKI: resources</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=resources&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Resources
&lt;/h2&gt; &lt;br /&gt;&lt;b&gt;MSDN Resources&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Conceptual/How-to Documentation: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb384241.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb384241.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;API Reference: &lt;a href="http://msdn2.microsoft.com/en-us/library/system.addin.hosting.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/system.addin.hosting.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt; &lt;br /&gt;&lt;b&gt;Online Articles&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;MSDN Magazine 02/2007 &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/02/CLRInsideOut/default.aspx" class="externalLink"&gt;http://msdn.microsoft.com/msdnmag/issues/07/02/CLRInsideOut/default.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;li&gt;MSDN Magazine 03/2007 &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/03/CLRInsideOut/default.aspx" class="externalLink"&gt;http://msdn.microsoft.com/msdnmag/issues/07/03/CLRInsideOut/default.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;These articles provide an introduction to our work while walking you through the process of first building the host and add-in, and then building the cross-version adapters when you move to a V2 host&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Microsoft Architecture Journal 12 (July 2007): &lt;a href="http://msdn2.microsoft.com/en-us/arcjournal/bb735304.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/arcjournal/bb735304.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;This article offers both an introduction to our APIs and architecture but also a discussion about how to use System.AddIn to build more reliable hosts&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;b&gt;Blogs&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;System.AddIn Team Blog: &lt;a href="http://blogs.msdn.com/clraddins/" class="externalLink"&gt;http://blogs.msdn.com/clraddins/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Team Members Blogs&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Jack Gudenkauf: &lt;a href="http://blogs.msdn.com/jackg/" class="externalLink"&gt;http://blogs.msdn.com/jackg/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Thomas Quinn: &lt;a href="http://blogs.msdn.com/tq/" class="externalLink"&gt;http://blogs.msdn.com/tq/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Jason He: &lt;a href="http://blogs.msdn.com/zifengh/" class="externalLink"&gt;http://blogs.msdn.com/zifengh/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;b&gt;Videos&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Screen Casts from Daniel Moth (MSFT UK Developer Evangelist)&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=385722" class="externalLink"&gt;http://channel9.msdn.com/ShowPost.aspx?PostID=385722&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=385723" class="externalLink"&gt;http://channel9.msdn.com/ShowPost.aspx?PostID=385723&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Mon, 25 Feb 2008 18:42:01 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: resources 20080225064201P</guid></item><item><title>UPDATED WIKI: resources</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=resources&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Resources
&lt;/h2&gt; &lt;br /&gt;&lt;b&gt;MSDN Resources&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Conceptual/How-to Documentation: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb384241.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb384241.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;API Reference: &lt;a href="http://msdn2.microsoft.com/en-us/library/system.addin.hosting.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/system.addin.hosting.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt; &lt;br /&gt;&lt;b&gt;Online Articles&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;MSDN Magazine 02/2007 &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/02/CLRInsideOut/default.aspx" class="externalLink"&gt;http://msdn.microsoft.com/msdnmag/issues/07/02/CLRInsideOut/default.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;li&gt;MSDN Magazine 03/2007 &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/03/CLRInsideOut/default.aspx" class="externalLink"&gt;http://msdn.microsoft.com/msdnmag/issues/07/03/CLRInsideOut/default.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;These articles provide an introduction to our work while walking you through the process of first building the host and add-in, and then building the cross-version adapters when you move to a V2 host&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Microsoft Architecture Journal 12 (July 2007): &lt;a href="http://msdn2.microsoft.com/en-us/arcjournal/bb735304.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/arcjournal/bb735304.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;This article offers both an introduction to our APIs and architecture but also a discussion about how to use System.AddIn to build more reliable hosts&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;b&gt;Blogs&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;System.AddIn Team Blog: &lt;a href="http://blogs.msdn.com/clraddins/" class="externalLink"&gt;http://blogs.msdn.com/clraddins/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Team Members Blogs&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Jack Gudenkauf: &lt;a href="http://blogs.msdn.com/jackg/" class="externalLink"&gt;http://blogs.msdn.com/jackg/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Thomas Quinn: &lt;a href="http://blogs.msdn.com/tq/" class="externalLink"&gt;http://blogs.msdn.com/tq/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Jason He: &lt;a href="http://blogs.msdn.com/zifengh/" class="externalLink"&gt;http://blogs.msdn.com/zifengh/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;b&gt;Videos&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Screen Casts from Danial Moth (MSFT UK Developer Evangelist)&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=385722" class="externalLink"&gt;http://channel9.msdn.com/ShowPost.aspx?PostID=385722&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=385723" class="externalLink"&gt;http://channel9.msdn.com/ShowPost.aspx?PostID=385723&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Mon, 25 Feb 2008 18:25:53 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: resources 20080225062553P</guid></item><item><title>UPDATED WIKI: New in Feb CTP</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=New in Feb CTP&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
High level Changes
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Major Changes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Better VS Integration&lt;/li&gt;&lt;li&gt;Greatly improved performance of the VS add-in for larger contract assemblies&lt;/li&gt;&lt;li&gt;Better default naming conventions for views and adatpers&lt;/li&gt;&lt;li&gt;Support for structs in Contracts&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Minor Breaking Changes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Generated files are now placed in a &amp;quot;Generated Files&amp;quot; sub folder in the main project and with a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;. You will need to delete the existing generated source files to compile. &lt;/li&gt;&lt;li&gt;NamespaceAttribute is no longer valid on assemblies&lt;/li&gt;&lt;li&gt;The namespaces for generated code has changed slightly, see &lt;a href="http://www.codeplex.com/clraddins/WorkItem/View.aspx?WorkItemId=901"&gt;Namespaces Should Follow Contract Namespace, NOT AssemblyName&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Naming related changes
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;New heuristic for choosing namespaces used in generated code&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;If NamespaceAttribute specifies a namespace for the contract in the current segment (views, host view, add-in view, host side adapter, or add-in side adpater) then we will use that namespace&lt;/li&gt;&lt;li&gt;If the namespace for the contract ends in &amp;quot;.Contracts&amp;quot; the &amp;quot;.Contracts&amp;quot; will be removed and the remaining name will be used, as-is, in the view assemblies. A &amp;quot;.HostSideAdapters&amp;quot; or &amp;quot;.AddInSideAdapters&amp;quot; will be added to the name used in the view in this case. &lt;/li&gt;&lt;li&gt;If there is no namespace attribute and the namespace for the type does not end in .Contracts it will choose a namspace based on the assembly name of the contract.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Namespace attribute can no longer be applied to assemblies&lt;/li&gt;&lt;li&gt;Namespace attribute can now be applied to all types (IContracts, Enum contracts, Struct contracts)&lt;/li&gt;&lt;li&gt;Generated files now have a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
VS Integration
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Dramtically improved performance for contract assemblies that result in many generated source files&lt;/li&gt;&lt;li&gt;Fit and finish&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Updates to the UI of various dialogs&lt;/li&gt;&lt;li&gt;Automatically collapse &amp;quot;References&amp;quot; tabs in generated projects&lt;/li&gt;&lt;li&gt;Automatically collapse the the generated source code folders for adapters&lt;/li&gt;&lt;li&gt;Status indicator for progress of generation&lt;/li&gt;&lt;li&gt;Better error messages across the board&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Better support for custom code in generated projects&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;All generated code is moved into &amp;quot;Generated Files&amp;quot; sub-folders in projects&lt;/li&gt;&lt;li&gt;Only replace code that is located in the &amp;quot;Generated Files&amp;quot; sub-folders&lt;/li&gt;&lt;li&gt;Detect when developers have modified a generated file and prevent the tool from overriding these choices&lt;/li&gt;&lt;li&gt;Detect when generated projects exist, but are not part of solution, and warn developer rather than overriding them&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Code Generation 
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Added support for struct contracts defined in contract assemblies&lt;/li&gt;&lt;li&gt;Support for passing arrays of struct and enum contracts&lt;/li&gt;&lt;li&gt;Better error checking in contract assembly&lt;/li&gt;&lt;li&gt;Different code generator options &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Change of bracing style&lt;/li&gt;&lt;li&gt;No longer skip lines between members&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt; &lt;br /&gt;Quick Samples:&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Blank Pipeline Project &lt;/a&gt; (Updated to include a sample contract)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9241"&gt;Common Pipeline Scenarios &lt;/a&gt; (Updated to include samples for structs)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Sat, 09 Feb 2008 00:15:47 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: New in Feb CTP 20080209121547A</guid></item><item><title>UPDATED WIKI: New in Feb CTP</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=New in Feb CTP&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
New in Feb CTP
&lt;/h1&gt;&lt;h2&gt;
Summary
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Major Changes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Better VS Integration&lt;/li&gt;&lt;li&gt;Greatly improved performance of the VS add-in for larger contract assemblies&lt;/li&gt;&lt;li&gt;Better default naming conventions for views and adatpers&lt;/li&gt;&lt;li&gt;Support for structs in Contracts&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Minor Breaking Changes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Generated files are now placed in a &amp;quot;Generated Files&amp;quot; sub folder in the main project and with a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;. You will need to delete the existing generated source files to compile. &lt;/li&gt;&lt;li&gt;NamespaceAttribute is no longer valid on assemblies&lt;/li&gt;&lt;li&gt;The namespaces for generated code has changed slightly, see &lt;a href="http://www.codeplex.com/clraddins/WorkItem/View.aspx?WorkItemId=901"&gt;Namespaces Should Follow Contract Namespace, NOT AssemblyName&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Naming related changes
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;New heuristic for choosing namespaces used in generated code&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;If NamespaceAttribute specifies a namespace for the contract in the current segment (views, host view, add-in view, host side adapter, or add-in side adpater) then we will use that namespace&lt;/li&gt;&lt;li&gt;If the namespace for the contract ends in &amp;quot;.Contracts&amp;quot; the &amp;quot;.Contracts&amp;quot; will be removed and the remaining name will be used, as-is, in the view assemblies. A &amp;quot;.HostSideAdapters&amp;quot; or &amp;quot;.AddInSideAdapters&amp;quot; will be added to the name used in the view in this case. &lt;/li&gt;&lt;li&gt;If there is no namespace attribute and the namespace for the type does not end in .Contracts it will choose a namspace based on the assembly name of the contract.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Namespace attribute can no longer be applied to assemblies&lt;/li&gt;&lt;li&gt;Namespace attribute can now be applied to all types (IContracts, Enum contracts, Struct contracts)&lt;/li&gt;&lt;li&gt;Generated files now have a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
VS Integration
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Dramtically improved performance for contract assemblies that result in many generated source files&lt;/li&gt;&lt;li&gt;Fit and finish&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Updates to the UI of various dialogs&lt;/li&gt;&lt;li&gt;Automatically collapse &amp;quot;References&amp;quot; tabs in generated projects&lt;/li&gt;&lt;li&gt;Automatically collapse the the generated source code folders for adapters&lt;/li&gt;&lt;li&gt;Status indicator for progress of generation&lt;/li&gt;&lt;li&gt;Better error messages across the board&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Better support for custom code in generated projects&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;All generated code is moved into &amp;quot;Generated Files&amp;quot; sub-folders in projects&lt;/li&gt;&lt;li&gt;Only replace code that is located in the &amp;quot;Generated Files&amp;quot; sub-folders&lt;/li&gt;&lt;li&gt;Detect when developers have modified a generated file and prevent the tool from overriding these choices&lt;/li&gt;&lt;li&gt;Detect when generated projects exist, but are not part of solution, and warn developer rather than overriding them&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Code Generation 
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Added support for struct contracts defined in contract assemblies&lt;/li&gt;&lt;li&gt;Support for passing arrays of struct and enum contracts&lt;/li&gt;&lt;li&gt;Better error checking in contract assembly&lt;/li&gt;&lt;li&gt;Different code generator options &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Change of bracing style&lt;/li&gt;&lt;li&gt;No longer skip lines between members&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt; &lt;br /&gt;Quick Samples:&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Blank Pipeline Project &lt;/a&gt; (Updated to include a sample contract)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9241"&gt;Common Pipeline Scenarios &lt;/a&gt; (Updated to include samples for structs)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Sat, 09 Feb 2008 00:15:17 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: New in Feb CTP 20080209121517A</guid></item><item><title>UPDATED WIKI: New in Feb CTP</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=New in Feb CTP&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Summary
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Major Changes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Better VS Integration&lt;/li&gt;&lt;li&gt;Greatly improved performance of the VS add-in for larger contract assemblies&lt;/li&gt;&lt;li&gt;Better default naming conventions for views and adatpers&lt;/li&gt;&lt;li&gt;Support for structs in Contracts&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Minor Breaking Changes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Generated files are now placed in a &amp;quot;Generated Files&amp;quot; sub folder in the main project and with a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;. You will need to delete the existing generated source files to compile. &lt;/li&gt;&lt;li&gt;NamespaceAttribute is no longer valid on assemblies&lt;/li&gt;&lt;li&gt;The namespaces for generated code has changed slightly, see &lt;a href="http://www.codeplex.com/clraddins/WorkItem/View.aspx?WorkItemId=901"&gt;Namespaces Should Follow Contract Namespace, NOT AssemblyName&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Naming related changes
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;New heuristic for choosing namespaces used in generated code&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;If NamespaceAttribute specifies a namespace for the contract in the current segment (views, host view, add-in view, host side adapter, or add-in side adpater) then we will use that namespace&lt;/li&gt;&lt;li&gt;If the namespace for the contract ends in &amp;quot;.Contracts&amp;quot; the &amp;quot;.Contracts&amp;quot; will be removed and the remaining name will be used, as-is, in the view assemblies. A &amp;quot;.HostSideAdapters&amp;quot; or &amp;quot;.AddInSideAdapters&amp;quot; will be added to the name used in the view in this case. &lt;/li&gt;&lt;li&gt;If there is no namespace attribute and the namespace for the type does not end in .Contracts it will choose a namspace based on the assembly name of the contract.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Namespace attribute can no longer be applied to assemblies&lt;/li&gt;&lt;li&gt;Namespace attribute can now be applied to all types (IContracts, Enum contracts, Struct contracts)&lt;/li&gt;&lt;li&gt;Generated files now have a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
VS Integration
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Dramtically improved performance for contract assemblies that result in many generated source files&lt;/li&gt;&lt;li&gt;Fit and finish&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Updates to the UI of various dialogs&lt;/li&gt;&lt;li&gt;Automatically collapse &amp;quot;References&amp;quot; tabs in generated projects&lt;/li&gt;&lt;li&gt;Automatically collapse the the generated source code folders for adapters&lt;/li&gt;&lt;li&gt;Status indicator for progress of generation&lt;/li&gt;&lt;li&gt;Better error messages across the board&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Better support for custom code in generated projects&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;All generated code is moved into &amp;quot;Generated Files&amp;quot; sub-folders in projects&lt;/li&gt;&lt;li&gt;Only replace code that is located in the &amp;quot;Generated Files&amp;quot; sub-folders&lt;/li&gt;&lt;li&gt;Detect when developers have modified a generated file and prevent the tool from overriding these choices&lt;/li&gt;&lt;li&gt;Detect when generated projects exist, but are not part of solution, and warn developer rather than overriding them&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Code Generation 
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Added support for struct contracts defined in contract assemblies&lt;/li&gt;&lt;li&gt;Support for passing arrays of struct and enum contracts&lt;/li&gt;&lt;li&gt;Better error checking in contract assembly&lt;/li&gt;&lt;li&gt;Different code generator options &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Change of bracing style&lt;/li&gt;&lt;li&gt;No longer skip lines between members&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt; &lt;br /&gt;Quick Samples:&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Blank Pipeline Project &lt;/a&gt; (Updated to include a sample contract)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9241"&gt;Common Pipeline Scenarios &lt;/a&gt; (Updated to include samples for structs)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Sat, 09 Feb 2008 00:14:35 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: New in Feb CTP 20080209121435A</guid></item><item><title>UPDATED WIKI: New in Feb CTP</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=New in Feb CTP&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Summary
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Major Changes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Better VS Integration&lt;/li&gt;&lt;li&gt;Greatly improved performance of the VS add-in for larger contract assemblies&lt;/li&gt;&lt;li&gt;Better default naming conventions for views and adatpers&lt;/li&gt;&lt;li&gt;Support for structs in Contracts&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Minor Breaking Changes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Generated files are now placed in a &amp;quot;Generated Files&amp;quot; sub folder in the main project and with a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;. You will need to delete the existing generated source files to compile. &lt;/li&gt;&lt;li&gt;NamespaceAttribute is no longer valid on assemblies&lt;/li&gt;&lt;li&gt;The namespaces for generated code has changed slightly, see &lt;a href="http://www.codeplex.com/clraddins/WorkItem/View.aspx?WorkItemId=901"&gt;Namespaces Should Follow Contract Namespace, NOT AssemblyName&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Naming related changes
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;New heuristic for choosing namespaces used in generated code&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;If NamespaceAttribute specifies a namespace for the contract in the current segment (views, host view, add-in view, host side adapter, or add-in side adpater) then we will use that namespace&lt;/li&gt;&lt;li&gt;If the namespace for the contract ends in &amp;quot;.Contracts&amp;quot; the &amp;quot;.Contracts&amp;quot; will be removed and the remaining name will be used, as-is, in the view assemblies. A &amp;quot;.HostSideAdapters&amp;quot; or &amp;quot;.AddInSideAdapters&amp;quot; will be added to the name used in the view in this case. &lt;/li&gt;&lt;li&gt;If there is no namespace attribute and the namespace for the type does not end in .Contracts it will choose a namspace based on the assembly name of the contract.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Namespace attribute can no longer be applied to assemblies&lt;/li&gt;&lt;li&gt;Namespace attribute can now be applied to all types (IContracts, Enum contracts, Struct contracts)&lt;/li&gt;&lt;li&gt;Generated files now have a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Quick Samples:&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Blank Pipeline Project &lt;/a&gt; (Updated to include a sample contract)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9241"&gt;Common Pipeline Scenarios &lt;/a&gt; (Updated to include samples for structs)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Fri, 08 Feb 2008 22:54:40 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: New in Feb CTP 20080208105440P</guid></item><item><title>UPDATED WIKI: New in Feb CTP</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=New in Feb CTP&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Summary
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Major Changes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Better VS Integration&lt;/li&gt;&lt;li&gt;Greatly improved performance of the VS add-in for larger contract assemblies&lt;/li&gt;&lt;li&gt;Better default naming conventions for views and adatpers&lt;/li&gt;&lt;li&gt;Support for structs in Contracts&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Minor Breaking Changes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Generated files are now placed in a &amp;quot;Generated Files&amp;quot; sub folder in the main project and with a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;. You will need to delete the existing generated source files to compile. &lt;/li&gt;&lt;li&gt;NamespaceAttribute is no longer valid on assemblies&lt;/li&gt;&lt;li&gt;The namespaces for generated code has changed slightly, see &lt;a href="http://www.codeplex.com/clraddins/WorkItem/View.aspx?WorkItemId=901"&gt;Namespaces Should Follow Contract Namespace, NOT AssemblyName&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;!!Naming related changes&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;New heuristic for choosing namespaces used in generated code&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;If NamespaceAttribute specifies a namespace for the contract in the current segment (views, host view, add-in view, host side adapter, or add-in side adpater) then we will use that namespace&lt;/li&gt;&lt;li&gt;If the namespace for the contract ends in &amp;quot;.Contracts&amp;quot; the &amp;quot;.Contracts&amp;quot; will be removed and the remaining name will be used, as-is, in the view assemblies. A &amp;quot;.HostSideAdapters&amp;quot; or &amp;quot;.AddInSideAdapters&amp;quot; will be added to the name used in the view in this case. &lt;/li&gt;&lt;li&gt;If there is no namespace attribute and the namespace for the type does not end in .Contracts it will choose a namspace based on the assembly name of the contract.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Namespace attribute can no longer be applied to assemblies&lt;/li&gt;&lt;li&gt;Namespace attribute can now be applied to all types (IContracts, Enum contracts, Struct contracts)&lt;/li&gt;&lt;li&gt;Generated files now have a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Quick Samples:&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Blank Pipeline Project &lt;/a&gt; (Updated to include a sample contract)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9241"&gt;Common Pipeline Scenarios &lt;/a&gt; (Updated to include samples for structs)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Fri, 08 Feb 2008 22:54:30 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: New in Feb CTP 20080208105430P</guid></item><item><title>UPDATED WIKI: New in Feb CTP</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=New in Feb CTP&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
Details to come. &lt;br /&gt; &lt;br /&gt;Major Changes:&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Better VS Integration&lt;/li&gt;&lt;li&gt;Greatly improved performance of the VS add-in for larger contract assemblies&lt;/li&gt;&lt;li&gt;Better default naming conventions for views and adatpers&lt;/li&gt;&lt;li&gt;Support for structs in Contracts&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;Minor Breaking Changes:&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Generated files are now placed in a &amp;quot;Generated Files&amp;quot; sub folder in the main project and with a &amp;quot;.g.cs&amp;quot; extension rather than &amp;quot;.generated.cs&amp;quot;. You will need to delete the existing generated source files to compile. &lt;/li&gt;&lt;li&gt;NamespaceAttribute is no longer valid on assemblies&lt;/li&gt;&lt;li&gt;The namespaces for generated code has changed slightly, see &lt;a href="http://www.codeplex.com/clraddins/WorkItem/View.aspx?WorkItemId=901"&gt;Namespaces Should Follow Contract Namespace, NOT AssemblyName&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt; &lt;br /&gt;Quick Samples:&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Blank Pipeline Project &lt;/a&gt; (Updated to include a sample contract)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9241"&gt;Common Pipeline Scenarios &lt;/a&gt; (Updated to include samples for structs)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Fri, 08 Feb 2008 22:27:28 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: New in Feb CTP 20080208102728P</guid></item><item><title>UPDATED WIKI: Pipeline Builder</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Pipeline Builder&amp;version=12</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Pipeline Builder Home Page
&lt;/h2&gt;This has been one of the most requested features we've had since people started learning more about our model and playing with the bits. For a particular version of an application writing the code for the views and adapters can be a lot of mechanical repetitious work and generally only gets interesting when you are writing &amp;quot;cross-version&amp;quot; adapters. So what we've done is build a tool that will automatically generate the source code for the views and adapters for a given contract assembly. This tool is really just a library that can be used from various other places and our release will include a simple command line tool as well as a VS 2008 add-in that will automatically generate the projects and set references/build paths for you appropriately.&lt;br /&gt; &lt;br /&gt;This tool should still be considered in pre-release state but because of the nature of it that shouldn't discourage you from using it in your products. While we are still working on adding additional features (and will be taking requests/suggestions for them), as long as tool has the features you need you should feel comfortable using it. Since the code this tool generates doesn't take any dependencies on the tool, or related assemblies, new updates will not impact your app and should be easy enough to incorporate in your build process. If we post updates that change the code generated for currently available features we'll make sure that gets noted and describe the changes. &lt;br /&gt; &lt;br /&gt;Currently the tool only generates C# projects and source code but the code it generates can be consumed from any other .Net language. The contract assembly itself can also be built in any language. &lt;br /&gt; &lt;br /&gt;&lt;b&gt;Getting Started&lt;/b&gt;&lt;br /&gt;This project consists of three major pieces:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;PipelineBuilder assembly for examninig the contract assembly and generating the source code&lt;/li&gt;&lt;li&gt;PipelineHints assembly that contains custom attributes you can use in the contract's source code to customize the PipelineBuilder output&lt;/li&gt;&lt;li&gt;VSPipelineBuilder VS2008 add-in that integrates with VS and takes care of adding projects and source files to solutions&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;You can download our current CTP here: &lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9222"&gt;Pipeline Builder CTP Feb-2008&lt;/a&gt; &lt;br /&gt; &lt;br /&gt;If you are only interesting in using this tool (and not worrying about modifying it) then you just need to read these sections:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Using%20PipelineHints%20to%20Customize%20Output&amp;amp;referringTitle=Pipeline%20Builder"&gt;Using PipelineHints to Customize Output&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Using%20the%20VS%20Add-In&amp;amp;referringTitle=Pipeline%20Builder"&gt;Using the VS Add-In&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;If your interested in looking at and/or modifying the code of the pipeline builder itself you can find more information here: &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Pipeline%20Builder%20Development&amp;amp;referringTitle=Pipeline%20Builder"&gt;Pipeline Builder Development&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;For more information about this tool you can read our &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Pipeline%20Builder%20FAQ&amp;amp;referringTitle=Pipeline%20Builder"&gt;Pipeline Builder FAQ&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Fri, 08 Feb 2008 22:19:33 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Pipeline Builder 20080208101933P</guid></item><item><title>UPDATED WIKI: Using the VS Add-In</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Using the VS Add-In&amp;version=12</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Using the VS Add-In
&lt;/h2&gt;&lt;b&gt;Installing the VS Add-In&lt;/b&gt;&lt;br /&gt;This add-in only works with VS 2008. This add-in is still in an early stage of development as most of our work has been focused on the actual pipeline generation work rather than the VS integration. It should work well enough to help you get started and develop your pipeline but it isn't as flexible and robust as we would eventually like. In particular it requires a fairly specific solution structure (outlined below). Error reporting is limited to a dialog that gives you the ToString of any exception that is thrown. &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;You can download the current release here: &lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9222"&gt;Pipeline Builder CTP Jan-2008&lt;/a&gt; &lt;br /&gt; &lt;br /&gt;The installation program will place files in the specfied directory and will install the necessary components into the GAC, but it will not register the add-in with VS. &lt;br /&gt;To register the installed add-in with VS you need to:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Start VS&lt;/li&gt;&lt;li&gt;Click on the Tools-&amp;gt;Options menu item&lt;/li&gt;&lt;li&gt;Select the Environment-&amp;gt;Add-In/Macros Security item&lt;/li&gt;&lt;li&gt;Add the path where you installed this addin to the &amp;quot;Add-in File Paths&amp;quot; list (default is c:\Program Files\Microsoft\Visual Studio Pipeline Builder)&lt;/li&gt;&lt;li&gt;Restart VS&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;After you restart VS you should see a new item in your Tools menu list with a smiley icon and the name &amp;quot;PipelineBuilder&amp;quot;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Settuping up your Solution&lt;/b&gt;&lt;br /&gt;The VS add-in works best when you have a fairly specific set-up in your solution. Your .sln file should be in one folder with each project in sub-folders (this is the default setting when creating a new project/sln in VS and you choose the &amp;quot;Create Directory For Solution&amp;quot; option). The output of your projects should be redirected to a single output folder that is a direct subfolder of the solution's folder. Additionally, the output for your contract project should be in a &amp;quot;Contracts&amp;quot; subfolder underneath your output folder. With this setup the host will go directly into &amp;quot;output&amp;quot; and it can use the PipelineStoreLocation.ApplicationBase enum for finding add-ins in that directory. &lt;br /&gt; &lt;br /&gt;To redirect the output of a project you need to right-click on the project in &amp;quot;Solution Explorer&amp;quot; and hit properties. From there you click on the &amp;quot;Build&amp;quot; tab and towards the bottom of that path you can find the &amp;quot;Ouput Path&amp;quot; text box. For your Contracts project you would want a path like &amp;quot;..\output\Contracts&amp;quot;, the corresponding host path would be &amp;quot;..\output\&amp;quot; and the add-ins (if built with the same solution) would have the path &amp;quot;..\output\AddIns\&lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=MyAddInName&amp;amp;referringTitle=Using%20the%20VS%20Add-In"&gt;MyAddInName&lt;/a&gt;&amp;quot;. The below screen show shows the output settings for a sample Contracts assembly project: &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=clraddins&amp;amp;DownloadId=25488" alt="ProjectOutput.jpg" /&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Visually the directory structure should look like this:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Solution Directory&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Solution File&lt;/li&gt;&lt;li&gt;Contract Project Directory&lt;/li&gt;&lt;li&gt;Host Project Directory (optional)&lt;/li&gt;&lt;li&gt;Output directory (the name is up to you)&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Contracts (your contract project should build here)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;For your convenience we have a solution with an empty Contracts project set up according the above guidelines available here: &lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Sample- Blank Pipeline Project&lt;/a&gt;&lt;br /&gt;For more information on going from this blank project to a working contract solution please see &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=From%20Blank%20Pipeline%20Project%20To%20Working%20Solution&amp;amp;referringTitle=Using%20the%20VS%20Add-In"&gt;this page&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Running the PipelineBuilder Add-In&lt;/b&gt;&lt;br /&gt;Once you've set your solution up, as described above, you can simply open it and use the tool. You can run the tool by clicking on the &amp;quot;PipelineBuilder&amp;quot; item under your tools menu in VS. It will pop up this dialog: &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=clraddins&amp;amp;DownloadId=24051" alt="pipelineconfiguration.jpg" /&gt;&lt;br /&gt;It will try and guess which project in your current solution is the &amp;quot;Contract&amp;quot; project and if it guesses incorrectly you can choose the correct one from the &amp;quot;Contract Source Project&amp;quot; drop down box.  The default values for the &amp;quot;Project Location&amp;quot; and &amp;quot;Build Location&amp;quot; were determined by inspecting the &amp;quot;Contract Source Project&amp;quot; and should be correct if you followed the guidelines above. &lt;br /&gt; &lt;br /&gt;Once you hit &amp;quot;Ok&amp;quot; it will examine the project output of your &amp;quot;Contract Source Project&amp;quot; (&lt;i&gt;Important: this tool examines your binary and not the source code, if this project is not built the tool won't work&lt;/i&gt;) and will take care of the rest: &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;If the projects for the various pipeline segments are not part of your solution it will:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Create them in the in the directory specified &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;If the project being generated is not part of the solution but a directory with its name is located in the &amp;quot;Project Location&amp;quot; path then it will delete that directory&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Set up the references appropriately &lt;/li&gt;&lt;li&gt;Set up their build paths appropriately &lt;/li&gt;&lt;li&gt;Add the generated source files to each project with a .generated.cs extension&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;If the projects for the various pipeline segments are part of your solution it will: &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Reuse the existing projects&lt;/li&gt;&lt;li&gt;Delete all files with the .generated.cs extension&lt;/li&gt;&lt;li&gt;Add the generated source files to each project with a .generated.cs extension&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;i&gt;Important&lt;/i&gt;: if you have modified any of the generated source files you should remove the .generated section from the file name to prevent the tool from deleting it. You should also mark it's class with the &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=CustomPipelineAttribute&amp;amp;referringTitle=Using%20the%20VS%20Add-In"&gt;CustomPipelineAttribute&lt;/a&gt; to avoid have the tool re-generate the code you've decided to customize. For more information on this attribute see &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Using%20PipelineHints%20to%20Customize%20Output&amp;amp;referringTitle=Using%20the%20VS%20Add-In"&gt;Using PipelineHints to Customize Output&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;After the tool is finished you should be able compile and everything should be set. If you are developing the host application concurrently simply add a reference from it to the appropriate view project and do the same for the add-ins. Remember to change properties of the add-ins reference to its view and set &amp;quot;CopyLocal=False&amp;quot;. For the host the default value of &amp;quot;CopyLocal=True&amp;quot; is generally correct. &lt;br /&gt; &lt;br /&gt;If, after running the tool a dialog pops up reporting the following exception then it means that it could not find your contract assembly and that you just need to rebuild that project. &lt;br /&gt;&lt;pre&gt;
System.Reflection.TargetInvocationException: Exception has been thrown 
by the target of an invocation. ---&amp;gt; System.IO.FileNotFoundException: 
&lt;/pre&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Wed, 30 Jan 2008 18:45:17 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Using the VS Add-In 20080130064517P</guid></item><item><title>UPDATED WIKI: Samples</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Samples&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Samples
&lt;/h2&gt; &lt;br /&gt;&lt;b&gt;Updated Samples from our Blog and Articles&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9454"&gt;WPF Calculator &lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9455"&gt;Reliable Calculator&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9456"&gt;Reliable Calculator V2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9474"&gt;Simple Automation Object Model&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;b&gt;Pipeline Builder Tool Samples&lt;/b&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Blank Pipeline Project &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9241"&gt; Common Pipeline Scenarios &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;b&gt;New Samples&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=10199"&gt;Event Sample &lt;/a&gt; &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;This sample includes an end-to-end solution (host, pipeline, addin) that demonstrates how hosts and add-ins can subscribe to each others events. &lt;/li&gt;&lt;li&gt;It also shows how you can use CancelableEvents, in this case to cancel work the add-in is reporting progress on. &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Fri, 25 Jan 2008 18:55:46 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Samples 20080125065546P</guid></item><item><title>UPDATED WIKI: From Blank Pipeline Project To Working Solution</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=From Blank Pipeline Project To Working Solution&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Going from the Blank Contract Sample to a Working Solution
&lt;/h2&gt; &lt;br /&gt;This page is designed to help walk you through all the steps needed to start using this samples as a starting point for your project: &lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Sample- Blank Pipeline Project&lt;/a&gt;. We'll use a simple calculator contract as a sample.  &lt;br /&gt; &lt;br /&gt;When you open the solution you'll see the Contracts.cs file with these contents:&lt;br /&gt;&lt;pre&gt;
/// Copyright (c) Microsoft Corporation.  All rights reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.AddIn.Contract;
using PipelineHints;
 
 
//You should change the assembly name and default namespace for this project before you use it. 
namespace Sample.Blank.Contracts
{
   
}
&lt;/pre&gt; &lt;br /&gt;The first thing you should do is update the assembly name and default namespace for this project. To do this right click on the project and click on properties. From there click on the &amp;quot;Application&amp;quot; tab. In this case we'll change both the &amp;quot;Default namespace&amp;quot; and the &amp;quot;Assembly name&amp;quot; to &amp;quot;Sample.Calculator.Contracts&amp;quot;. You can also rename the project by right-clicking on the project name and hitting &amp;quot;Rename&amp;quot;.&lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=clraddins&amp;amp;DownloadId=25490" alt="ChangingAssemblyName.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;Once you've updated the project settings you can start adding your contracts.  In this case we'll add an ICalculatorContract interface and end up with this: &lt;br /&gt;&lt;pre&gt;
/// Copyright (c) Microsoft Corporation.  All rights reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.AddIn.Contract;
using PipelineHints;
 
 
namespace Sample.Calculator.Contracts
{
    [System.AddIn.Pipeline.AddInContract]
    public interface ICalculatorContract : IContract
    {
        double Add(double a, double b);
        double Subtract(double a, double b);
        double Multiply(double a, double b);
        double Divide(double a, double b);
    }
}
&lt;/pre&gt; &lt;br /&gt;Since the ICalculatorContract type represents an add-in, and not simply a type that is exchanged between the host and the add-in, you need to apply the System.AddIn.Pipeline.AddInContract to identify the contract as something that can be activated. Once you've added the above code just need to compile the contract and it will be ready for use by the Pipeline Builder. &lt;br /&gt; &lt;br /&gt;If you examine the output placed in the AddInView and HostView projects you'll notice that the tool will automatically remove the &amp;quot;Contract&amp;quot; suffix from the name of all types and will drop the &amp;quot;.Contracts&amp;quot; suffix from the default namespace. You'll probably want to change the name of the assemblies as well. You can do this using the &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Using%20PipelineHints%20to%20Customize%20Output%20&amp;amp;referringTitle=From%20Blank%20Pipeline%20Project%20To%20Working%20Solution&amp;amp;ANCHOR#NamingAttributes"&gt;SegmentAssemblyName&lt;/a&gt; attribute. &lt;br /&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Sat, 12 Jan 2008 00:09:33 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: From Blank Pipeline Project To Working Solution 20080112120933A</guid></item><item><title>UPDATED WIKI: From Blank Pipeline Project To Working Solution</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=From Blank Pipeline Project To Working Solution&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Going from the Blank Contract Sample to a Working Solution
&lt;/h2&gt; &lt;br /&gt;This page is designed to help walk you through all the steps needed to start using this samples as a starting point for your project: &lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Sample- Blank Pipeline Project&lt;/a&gt;. We'll use a simple calculator contract as a sample.  &lt;br /&gt; &lt;br /&gt;When you open the solution you'll see the Contracts.cs file with these contents:&lt;br /&gt;&lt;pre&gt;
/// Copyright (c) Microsoft Corporation.  All rights reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.AddIn.Contract;
using PipelineHints;
 
 
//You should change the assembly name and default namespace for this project before you use it. 
namespace Sample.Blank.Contracts
{
   
}
&lt;/pre&gt; &lt;br /&gt;The first thing you should do is update the assembly name and default namespace for this project. To do this right click on the project and click on properties. From there click on the &amp;quot;Application&amp;quot; tab. In this case we'll change both the &amp;quot;Default namespace&amp;quot; and the &amp;quot;Assembly name&amp;quot; to &amp;quot;Sample.Calculator.Contracts&amp;quot;. You can also rename the project by right-clicking on the project name and hitting &amp;quot;Rename&amp;quot;.&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Insert Image ***&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;Once you've updated the project settings you can start adding your contracts.  In this case we'll add an ICalculatorContract interface and end up with this: &lt;br /&gt;&lt;pre&gt;
/// Copyright (c) Microsoft Corporation.  All rights reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.AddIn.Contract;
using PipelineHints;
 
 
namespace Sample.Calculator.Contracts
{
    [System.AddIn.Pipeline.AddInContract]
    public interface ICalculatorContract : IContract
    {
        double Add(double a, double b);
        double Subtract(double a, double b);
        double Multiply(double a, double b);
        double Divide(double a, double b);
    }
}
&lt;/pre&gt; &lt;br /&gt;Since the ICalculatorContract type represents an add-in, and not simply a type that is exchanged between the host and the add-in, you need to apply the System.AddIn.Pipeline.AddInContract to identify the contract as something that can be activated. Once you've added the above code just need to compile the contract and it will be ready for use by the Pipeline Builder. &lt;br /&gt; &lt;br /&gt;If you examine the output placed in the AddInView and HostView projects you'll notice that the tool will automatically remove the &amp;quot;Contract&amp;quot; suffix from the name of all types and will drop the &amp;quot;.Contracts&amp;quot; suffix from the default namespace. You'll probably want to change the name of the assemblies as well. You can do this using the &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Using%20PipelineHints%20to%20Customize%20Output%20&amp;amp;referringTitle=From%20Blank%20Pipeline%20Project%20To%20Working%20Solution&amp;amp;ANCHOR#NamingAttributes"&gt;SegmentAssemblyName&lt;/a&gt; attribute. &lt;br /&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Sat, 12 Jan 2008 00:08:20 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: From Blank Pipeline Project To Working Solution 20080112120820A</guid></item><item><title>UPDATED WIKI: Using the VS Add-In</title><link>http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Using the VS Add-In&amp;version=11</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Using the VS Add-In
&lt;/h2&gt;&lt;b&gt;Installing the VS Add-In&lt;/b&gt;&lt;br /&gt;This add-in only works with VS 2008. This add-in is still in an early stage of development as most of our work has been focused on the actual pipeline generation work rather than the VS integration. It should work well enough to help you get started and develop your pipeline but it isn't as flexible and robust as we would eventually like. In particular it requires a fairly specific solution structure (outlined below). Error reporting is limited to a dialog that gives you the ToString of any exception that is thrown. &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;You can download the current release here: &lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9222"&gt;Pipeline Builder CTP Jan-2008&lt;/a&gt; &lt;br /&gt; &lt;br /&gt;The installation program will place files in the specfied directory and will install the necessary components into the GAC, but it will not register the add-in with VS. &lt;br /&gt;To register the installed add-in with VS you need to:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Start VS&lt;/li&gt;&lt;li&gt;Click on the Tools-&amp;gt;Options menu item&lt;/li&gt;&lt;li&gt;Select the Environment-&amp;gt;Add-In/Macros Security item&lt;/li&gt;&lt;li&gt;Add the path where you installed this addin to the &amp;quot;Add-in File Paths&amp;quot; list (default is c:\Program Files\Microsoft\Visual Studio Pipeline Buillder)&lt;/li&gt;&lt;li&gt;Restart VS&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;After you restart VS you should see a new item in your Tools menu list with a smiley icon and the name &amp;quot;PipelineBuilder&amp;quot;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Settuping up your Solution&lt;/b&gt;&lt;br /&gt;The VS add-in works best when you have a fairly specific set-up in your solution. Your .sln file should be in one folder with each project in sub-folders (this is the default setting when creating a new project/sln in VS and you choose the &amp;quot;Create Directory For Solution&amp;quot; option). The output of your projects should be redirected to a single output folder that is a direct subfolder of the solution's folder. Additionally, the output for your contract project should be in a &amp;quot;Contracts&amp;quot; subfolder underneath your output folder. With this setup the host will go directly into &amp;quot;output&amp;quot; and it can use the PipelineStoreLocation.ApplicationBase enum for finding add-ins in that directory. &lt;br /&gt; &lt;br /&gt;To redirect the output of a project you need to right-click on the project in &amp;quot;Solution Explorer&amp;quot; and hit properties. From there you click on the &amp;quot;Build&amp;quot; tab and towards the bottom of that path you can find the &amp;quot;Ouput Path&amp;quot; text box. For your Contracts project you would want a path like &amp;quot;..\output\Contracts&amp;quot;, the corresponding host path would be &amp;quot;..\output\&amp;quot; and the add-ins (if built with the same solution) would have the path &amp;quot;..\output\AddIns\&lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=MyAddInName&amp;amp;referringTitle=Using%20the%20VS%20Add-In"&gt;MyAddInName&lt;/a&gt;&amp;quot;. The below screen show shows the output settings for a sample Contracts assembly project: &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=clraddins&amp;amp;DownloadId=25488" alt="ProjectOutput.jpg" /&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Visually the directory structure should look like this:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Solution Directory&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Solution File&lt;/li&gt;&lt;li&gt;Contract Project Directory&lt;/li&gt;&lt;li&gt;Host Project Directory (optional)&lt;/li&gt;&lt;li&gt;Output directory (the name is up to you)&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Contracts (your contract project should build here)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;For your convenience we have a solution with an empty Contracts project set up according the above guidelines available here: &lt;a href="http://www.codeplex.com/clraddins/Release/ProjectReleases.aspx?ReleaseId=9240"&gt;Sample- Blank Pipeline Project&lt;/a&gt;&lt;br /&gt;For more information on going from this blank project to a working contract solution please see &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=From%20Blank%20Pipeline%20Project%20To%20Working%20Solution&amp;amp;referringTitle=Using%20the%20VS%20Add-In"&gt;this page&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Running the PipelineBuilder Add-In&lt;/b&gt;&lt;br /&gt;Once you've set your solution up, as described above, you can simply open it and use the tool. You can run the tool by clicking on the &amp;quot;PipelineBuilder&amp;quot; item under your tools menu in VS. It will pop up this dialog: &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=clraddins&amp;amp;DownloadId=24051" alt="pipelineconfiguration.jpg" /&gt;&lt;br /&gt;It will try and guess which project in your current solution is the &amp;quot;Contract&amp;quot; project and if it guesses incorrectly you can choose the correct one from the &amp;quot;Contract Source Project&amp;quot; drop down box.  The default values for the &amp;quot;Project Location&amp;quot; and &amp;quot;Build Location&amp;quot; were determined by inspecting the &amp;quot;Contract Source Project&amp;quot; and should be correct if you followed the guidelines above. &lt;br /&gt; &lt;br /&gt;Once you hit &amp;quot;Ok&amp;quot; it will examine the project output of your &amp;quot;Contract Source Project&amp;quot; (&lt;i&gt;Important: this tool examines your binary and not the source code, if this project is not built the tool won't work&lt;/i&gt;) and will take care of the rest: &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;If the projects for the various pipeline segments are not part of your solution it will:&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Create them in the in the directory specified &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;If the project being generated is not part of the solution but a directory with its name is located in the &amp;quot;Project Location&amp;quot; path then it will delete that directory&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Set up the references appropriately &lt;/li&gt;&lt;li&gt;Set up their build paths appropriately &lt;/li&gt;&lt;li&gt;Add the generated source files to each project with a .generated.cs extension&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;If the projects for the various pipeline segments are part of your solution it will: &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Reuse the existing projects&lt;/li&gt;&lt;li&gt;Delete all files with the .generated.cs extension&lt;/li&gt;&lt;li&gt;Add the generated source files to each project with a .generated.cs extension&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;i&gt;Important&lt;/i&gt;: if you have modified any of the generated source files you should remove the .generated section from the file name to prevent the tool from deleting it. You should also mark it's class with the &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=CustomPipelineAttribute&amp;amp;referringTitle=Using%20the%20VS%20Add-In"&gt;CustomPipelineAttribute&lt;/a&gt; to avoid have the tool re-generate the code you've decided to customize. For more information on this attribute see &lt;a href="http://www.codeplex.com/clraddins/Wiki/View.aspx?title=Using%20PipelineHints%20to%20Customize%20Output&amp;amp;referringTitle=Using%20the%20VS%20Add-In"&gt;Using PipelineHints to Customize Output&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;After the tool is finished you should be able compile and everything should be set. If you are developing the host application concurrently simply add a reference from it to the appropriate view project and do the same for the add-ins. Remember to change properties of the add-ins reference to its view and set &amp;quot;CopyLocal=False&amp;quot;. For the host the default value of &amp;quot;CopyLocal=True&amp;quot; is generally correct. &lt;br /&gt; &lt;br /&gt;If, after running the tool a dialog pops up reporting the following exception then it means that it could not find your contract assembly and that you just need to rebuild that project. &lt;br /&gt;&lt;pre&gt;
System.Reflection.TargetInvocationException: Exception has been thrown 
by the target of an invocation. ---&amp;gt; System.IO.FileNotFoundException: 
&lt;/pre&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>JesseKaplan</author><pubDate>Fri, 11 Jan 2008 23:37:46 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Using the VS Add-In 20080111113746P</guid></item></channel></rss>