<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Rui Silva&#039;s Blog &#187; DSL Tools</title>
	<atom:link href="http://ruisilva.wordpress.com/category/dsl-tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://ruisilva.wordpress.com</link>
	<description>All that you can&#039;t leave behind</description>
	<lastBuildDate>Fri, 06 Nov 2009 11:28:22 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='ruisilva.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/28f7fd3ea9cab567c56d56cca9b749c2?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Rui Silva&#039;s Blog &#187; DSL Tools</title>
		<link>http://ruisilva.wordpress.com</link>
	</image>
			<item>
		<title>Using DSL Integration Service (DIS) &#8211; Part 2</title>
		<link>http://ruisilva.wordpress.com/2007/06/08/using-dsl-integration-service-dis-part-2/</link>
		<comments>http://ruisilva.wordpress.com/2007/06/08/using-dsl-integration-service-dis-part-2/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 22:35:04 +0000</pubDate>
		<dc:creator>Rui Silva</dc:creator>
				<category><![CDATA[DSL Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://ruisilva.wordpress.com/2007/06/08/using-dsl-integration-service-dis-part-2/</guid>
		<description><![CDATA[In the last post I’ve introduced the DSL Integration Service and it’s own usage scenarios. Now I will get into the code, illustrating the implementation of one specific scenario:
Suppose you already have a DSL which enables the specification of business entities. Now Suppose that you need to implement a DSL for the user interface specification. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruisilva.wordpress.com&blog=770087&post=28&subd=ruisilva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In the last post I’ve introduced the DSL Integration Service and it’s own usage scenarios. Now I will get into the code, illustrating the implementation of one specific scenario:</p>
<p>Suppose you already have a DSL which enables the specification of business entities. Now Suppose that you need to implement a DSL for the user interface specification. It would be nice to have the possibility to reference the entities defined using the entities DSL, when specifying the user interface with the second DSL.</p>
<p>To do so I’ve implemented a new Visual Studio 2005 tool window that displays all the business entities and corresponding attributes in all available models. Then selecting one user interface model I’m be able to create my user interface specification by doing drag &amp; drop of the available business entities into the UI model.</p>
<p>These are the steps you need to follow to implement something similar:</p>
<p>First you need to mark the entities DSL as exportable. You do so by editing the Package.tt in DslPackage project:</p>
<p><font color="#999999">[Microsoft.VisualStudio.Modeling.Integration.RegisterAsExportable(</font></p>
<p><font color="#999999">typeof(&lt;#= directiveName #&gt;DomainModel),</font></p>
<p><font color="#999999">typeof(&lt;#= directiveName #&gt;SerializationBehaviorMonikerResolver),</font></p>
<p><font color="#999999">typeof(&lt;#=domainModelRoot#&gt;),</font></p>
<p><font color="#999999">typeof(&lt;#= directiveName #&gt;SerializationBehavior))]</font></p>
<p><font color="#999999">internal sealed partial class &lt;#= dslName #&gt;Package : &lt;#= dslName #&gt;PackageBase</font></p>
<p><font color="#999999">{</font></p>
<p><font color="#999999">}</font>And for the target DSL that’s all. You need only to garantee that , in the DSL definition, you do not have any element with the attribute “Generates Double Derived” with a “True” value assigned because if you don’t the integration service will generate an error. This limitation as already been assumed in the DSL forum.</p>
<p>To implement a Visual Studio 2005 tool window you need to create a new Visual Studio Integration Package</p>
<p>In the VSIP you need to get the reference to the Integration Service. With the service reference you can get an instance of the business entities domain model browser. With the domain model browser you can get a reference to all exported instances of a given model element. Finally you expose the elements data by geting a reference to each exported instance:</p>
<p><font color="#999999">IDslIntegrationService service = Business_Entities_Selector.GetGlobalService(typeof(IDslIntegrationService)) as IDslIntegrationService;</font></p>
<p><font color="#999999">IDomainModelBrowser domainModelBrowser = service.GetDomainModelBrowser(&#8220;Company.Models.Entities&#8221;);</font></p>
<p><font color="#999999">ReadOnlyCollection&lt;ExportedInstance&gt; exportedInstances = domainModelBrowser.FindAllInstances(domainModelBrowser.GetExportedClassByNamespace(&#8220;Company.Models.Entities\BusinessEntity&#8221;));</font></p>
<p><font color="#999999">BusinessEntity resolvedElement = (BusinessEntity)service.ResolveExportedInstanceInDocument(&#8220;Company.Models.Entities&#8221;, &#8220;mell://&#8221; + exportedInstance.Namespace, true);</font></p>
<p>Still in the VSIP project you need to enable the Drag &amp; Drop operation. You do so by calling the DoDragDrop method in the ItemDrag event from the TreeView control:</p>
<p><font color="#999999">private void TreeView1_ItemDrag(object sender, ItemDragEventArgs e)</font></p>
<p><font color="#999999">{</font></p>
<p><font color="#999999">DoDragDrop(e.Item, DragDropEffects.Copy);</font></p>
<p><font color="#999999">}</font></p>
<p>In the User Interface DSL you need to first enable the drag &amp; drop operations in corresponding model:</p>
<p><font color="#999999">protected override void OnAssociated(DiagramAssociationEventArgs e)</font></p>
<p><font color="#999999">{</font></p>
<p><font color="#999999">base.OnAssociated(e);</font></p>
<p><font color="#999999">// Ensure we have a view</font></p>
<p><font color="#999999">if (e.DiagramView == null || e.DiagramView.DiagramClientView == null)</font></p>
<p><font color="#999999">return;</font></p>
<p><font color="#999999">// Wireup the drag/drop support</font></p>
<p><font color="#999999">Control ctrl = e.DiagramView.DiagramClientView;</font></p>
<p><font color="#999999">ctrl.AllowDrop = true;</font></p>
<p><font color="#999999">ctrl.DragOver += new DragEventHandler(OnDragOver);</font></p>
<p><font color="#999999">ctrl.DragDrop += new DragEventHandler(OnDragDrop);</font></p>
<p><font color="#999999">}</font></p>
<p>Then implement the OnDragOver event:</p>
<p><font color="#999999">private void OnDragOver(object sender, DragEventArgs e)</font></p>
<p><font color="#999999">{</font></p>
<p><font color="#999999">e.Effect = DragDropEffects.Copy;</font></p>
<p><font color="#999999">}</font></p>
<p>And finally the OnDragDrop event. The model element creation it’s done here:</p>
<p><font color="#999999">private void OnDragDrop(object sender, DragEventArgs e)</font></p>
<p><font color="#999999">{</font></p>
<p><font color="#999999">if (e.Data.GetDataPresent(typeof(TreeNode)))</font></p>
<p><font color="#999999">{</font></p>
<p><font color="#999999">using (Transaction transaction = this.Store.TransactionManager.BeginTransaction())</font></p>
<p><font color="#999999">{</font></p>
<p><font color="#999999">ExampleElement exampleElement = (ExampleElement)this.Store.ElementFactory.CreateElement(ExampleElement.DomainClassId);</font></p>
<p><font color="#999999">TreeNode entityNode = (TreeNode)e.Data.GetData(typeof(TreeNode));</font></p>
<p><font color="#999999">exampleElement.Name = entityNode.Text;</font></p>
<p><font color="#999999">foreach (TreeNode node in entityNode.Nodes)</font></p>
<p><font color="#999999">{</font></p>
<p><font color="#999999">Attribute attribute = (Attribute)this.Store.ElementFactory.CreateElement(Attribute.DomainClassId);</font></p>
<p><font color="#999999">attribute.Name = node.Text;</font></p>
<p><font color="#999999">exampleElement.attributes.Add(attribute);</font></p>
<p><font color="#999999">}</font></p>
<p><font color="#999999">ExampleModel exampleModel = GetModel(this.Store);</font></p>
<p><font color="#999999">exampleModel.Elements.Add(exampleElement);</font></p>
<p><font color="#999999">transaction.Commit();</font></p>
<p><font color="#999999">}</font></p>
<p><font color="#999999">}</font></p>
<p><font color="#999999">}</font></p>
<p>You need to implement all this in a partial class of the UserInterfaceDiagram class</p>
<p>And that’s it. You now can start building you user interface specification by using the entities definitions made in another DSL.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ruisilva.wordpress.com/28/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ruisilva.wordpress.com/28/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruisilva.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruisilva.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruisilva.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruisilva.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruisilva.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruisilva.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruisilva.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruisilva.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruisilva.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruisilva.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruisilva.wordpress.com&blog=770087&post=28&subd=ruisilva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ruisilva.wordpress.com/2007/06/08/using-dsl-integration-service-dis-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a8a51fe2c706ccf23d73d70341621975?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruisilva</media:title>
		</media:content>
	</item>
		<item>
		<title>Using DSL Integration Service (DIS) &#8211; Part 1</title>
		<link>http://ruisilva.wordpress.com/2007/05/10/using-dsl-integration-service-dis-part-1/</link>
		<comments>http://ruisilva.wordpress.com/2007/05/10/using-dsl-integration-service-dis-part-1/#comments</comments>
		<pubDate>Thu, 10 May 2007 22:59:11 +0000</pubDate>
		<dc:creator>Rui Silva</dc:creator>
				<category><![CDATA[DSL Tools]]></category>

		<guid isPermaLink="false">http://ruisilva.wordpress.com/2007/05/10/using-dsl-integration-service-dis-part-1/</guid>
		<description><![CDATA[I finally managed to put this “thing” to work.
I&#8217;ve been struggling with this integration service, on my free time, since a couple of weeks ago. Definitely this is not a well documented feature nevertheless being only a Power Toy. There is only a readme document on the installation folder and less more. 
Thanks to Edward [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruisilva.wordpress.com&blog=770087&post=27&subd=ruisilva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-family:'Georgia','serif';">I finally managed to put this “thing” to work.</span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">I&#8217;ve been struggling with this integration service, on my free time, since a couple of weeks ago. Definitely this is not a well documented feature nevertheless being only a Power Toy. </span><span style="font-family:'Georgia','serif';">There is only a readme document on the installation folder and less more. </span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">Thanks to <a href="http://www.edwardbakker.nl/">Edward Bakker</a> who show me the <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1564618&amp;SiteID=1">light</a> on the Visual Studio Team System &#8211; Domain-Specific Language Tools Forum. </span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">I’m starting here a series of posts related to DSL integration. For now I let you with a brief introduction to this subject and in the next posts I’ll start with the bits and bytes.</span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">DSLs are generally relatively small, highly focused languages used to model and solve certain clearly identifiable problems that various developer roles may have to tackle as part of the software development lifecycle.</span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">Nevertheless, in many cases, architects and developers need to be able to navigate through various viewpoints, i.e. through different areas concerns and across various abstraction levels.</span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">Navigation across viewpoints and transformation of related artifacts imposes new requirements on DSL design, especially in terms of integration among them. Perhaps the most important is the ability to refer to model elements of one language from a different one.</span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">For example, let’s assume the development a Service Oriented Architecture (SOA) based application using two different DSL, namely Business Message Type DSL and Business Entities DSL. While using the Business Message Types DSL, the message designer may need to refer to instances of business entities, specified using the Business Entities DSL, in order to define what is the payload for any given message type.</span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">The current release of DSL Tools does not support any integration across different DSLs. More specifically, it’s not natively possible to refer from the model elements or properties in a language to those modeled and instantiated in another one.</span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">However, that level of integration can be programmatically obtained. </span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">The Visual Studio DSL Integration Service (DIS) is a service added to Visual Studio by the Microsoft.VisualStudio.Modeling.Integration package, whose goal and main feature is to support referencing of model elements across different DSLs.</span></p>
<p><span style="font-family:'Georgia','serif';"></span><span style="font-family:'Georgia','serif';">That’s all for today don’t miss the next series of posts.</span><span style="font-family:'Georgia','serif';"> </span><span style="font-family:'Georgia','serif';"> </span><span style="font-family:'Georgia','serif';"><span></span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ruisilva.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ruisilva.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruisilva.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruisilva.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruisilva.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruisilva.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruisilva.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruisilva.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruisilva.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruisilva.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruisilva.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruisilva.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruisilva.wordpress.com&blog=770087&post=27&subd=ruisilva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ruisilva.wordpress.com/2007/05/10/using-dsl-integration-service-dis-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a8a51fe2c706ccf23d73d70341621975?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruisilva</media:title>
		</media:content>
	</item>
		<item>
		<title>Implementing a VS2005 Macro for automating transformation and exporting of outputs from DSL templates</title>
		<link>http://ruisilva.wordpress.com/2007/05/06/implementing-a-vs2005-macro-for-automating-transformation-and-exporting-of-outputs-from-dsl-templates/</link>
		<comments>http://ruisilva.wordpress.com/2007/05/06/implementing-a-vs2005-macro-for-automating-transformation-and-exporting-of-outputs-from-dsl-templates/#comments</comments>
		<pubDate>Sun, 06 May 2007 16:24:45 +0000</pubDate>
		<dc:creator>Rui Silva</dc:creator>
				<category><![CDATA[DSL Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://ruisilva.wordpress.com/2007/05/06/implementing-a-vs2005-macro-for-automating-transformation-and-exporting-of-outputs-from-dsl-templates/</guid>
		<description><![CDATA[For those who are working with Domain Specific Languages Designers, there is on recurring two step task that should be automated: Tranforming and exporting the various templates ouputs to the proper locations in our working project.
To do so we can implement a simple macro that does the job for us.
Basically we need to create a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruisilva.wordpress.com&blog=770087&post=23&subd=ruisilva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>For those who are working with Domain Specific Languages Designers, there is on recurring two step task that should be automated: Tranforming and exporting the various templates ouputs to the proper locations in our working project.</p>
<p>To do so we can implement a simple macro that does the job for us.</p>
<p>Basically we need to create a method that call one command that transform all the templates in the current project:</p>
<p>DTE.ExecuteCommand(<span style="color:#a31515;">&#8220;TextTransformation.TransformAllTemplates&#8221;</span>)</p>
<p>and then call a set of commands to copy the templates ouput to the desired directory. Here is a sample of what I said:</p>
<p>DTE.ExecuteCommand(<span style="color:#a31515;">&#8220;Tools.Shell&#8221;</span>, <span style="color:#a31515;">&#8220;cmd /c copy /Y &#8220;&#8221;"</span> + GetOriginPath() + <span style="color:#a31515;">&#8220;BusinessEntities.cs&#8221;</span> + <span style="color:#a31515;">&#8220;&#8221;"  &#8220;&#8221;"</span> + BusinessEntitiesDestinationFile + <span style="color:#a31515;">&#8220;&#8221;"&#8221;</span>)</p>
<p>where GetOriginPath()  is defined as:</p>
<p><span style="color:#0000ff;">Private</span> <span style="color:#0000ff;">Function</span> GetOriginPath() <span style="color:#0000ff;">As</span> <span style="color:#0000ff;">String<br />
</span>      <span style="color:#0000ff;">Dim</span> lastIndex <span style="color:#0000ff;">As</span> <span style="color:#0000ff;">Integer</span> = InStrRev(DTE.Solution.FullName, <span style="color:#a31515;">&#8220;\&#8221;</span>)<br />
      <span style="color:#0000ff;">Return</span> Left(DTE.Solution.FullName, lastIndex) &amp; <span style="color:#a31515;">&#8220;GeneratedCode\&#8221;<br />
</span><span style="color:#0000ff;">End</span> <span style="color:#0000ff;">Function</span></p>
<p>To learn how to assign a macro to a toolbar button check out this <a href="http://msdn2.microsoft.com/en-us/library/3dy74ad1(VS.80).aspx">site.</a></p>
<p>To learn how to Edit and Programmatically Create Macros check out this <a href="http://msdn2.microsoft.com/en-us/library/k91y6132(VS.80).aspx">site</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ruisilva.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ruisilva.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruisilva.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruisilva.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruisilva.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruisilva.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruisilva.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruisilva.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruisilva.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruisilva.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruisilva.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruisilva.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruisilva.wordpress.com&blog=770087&post=23&subd=ruisilva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ruisilva.wordpress.com/2007/05/06/implementing-a-vs2005-macro-for-automating-transformation-and-exporting-of-outputs-from-dsl-templates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a8a51fe2c706ccf23d73d70341621975?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruisilva</media:title>
		</media:content>
	</item>
		<item>
		<title>Reseting Visual Studio 2005 Experimental Hive</title>
		<link>http://ruisilva.wordpress.com/2007/04/20/visual-studio-2005-experimental-hive/</link>
		<comments>http://ruisilva.wordpress.com/2007/04/20/visual-studio-2005-experimental-hive/#comments</comments>
		<pubDate>Fri, 20 Apr 2007 16:47:51 +0000</pubDate>
		<dc:creator>Rui Silva</dc:creator>
				<category><![CDATA[DSL Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://ruisilva.wordpress.com/2007/04/20/visual-studio-2005-experimental-hive/</guid>
		<description><![CDATA[Upon installation of the Visual Studio SDK, a clone of the existing Visual Studio registry is created for use as the default experimental hive.
When developing applications and/or integrations for Visual Studio 2005 with the Visual Studio 2005 SDK, for example using the DSL Tools, the testing and debugging is done using a Visual Studio Instance [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruisilva.wordpress.com&blog=770087&post=22&subd=ruisilva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Upon installation of the Visual Studio SDK, a clone of the existing Visual Studio registry is created for use as the default experimental hive.</p>
<p>When developing applications and/or integrations for Visual Studio 2005 with the Visual Studio 2005 SDK, for example using the DSL Tools, the testing and debugging is done using a Visual Studio Instance that are running with a special registry hive, instead of the normal so you don&#8217;t mess up your normal Visual Studio operations.</p>
<p>So when you latelly add new add-ons to VS 2005 like the ones for Team Foundation Server they are not automatically registered under the experimental hive. To make sure that experimental hive uses all the recent settings of VS 2005 we need to do a reset to this special instance.</p>
<p>Reseting the experimental hive is done from the VS 2005 SDK.</p>
<p>Here is the command line:&#8221;C:\Program Files\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Tools\Bin\VsRegEx.exe&#8221; GetOrig 8.0 Exp</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ruisilva.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ruisilva.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruisilva.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruisilva.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruisilva.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruisilva.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruisilva.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruisilva.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruisilva.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruisilva.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruisilva.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruisilva.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruisilva.wordpress.com&blog=770087&post=22&subd=ruisilva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ruisilva.wordpress.com/2007/04/20/visual-studio-2005-experimental-hive/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a8a51fe2c706ccf23d73d70341621975?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruisilva</media:title>
		</media:content>
	</item>
	</channel>
</rss>