How to: Migrate a Domain-Specific Language to a New Version
Updated: July 2008
You can migrate a domain-specific language to Visual Studio 2008 from the version of Domain-Specific Language Tools that was distributed with Visual Studio 2005 or from the version that was distributed with the Visual Studio 2008 Beta release.
This procedure uses as an example the domain-specific language that is created in Walkthrough: Creating a Domain-Specific Language Solution.
To migrate a domain-specific language from Visual Studio 2005
Create a domain-specific language solution in Visual Studio 2008 that has the same name, file name extension, and company name as the original solution. For example, in the FamilyTree solution, the name of the solution is FamilyTree, the file name extension is .ftree, and the company name is Fabrikam.
Copy the DslDefinition.dsl file in the Dsl project of the original solution and paste it in the Dsl project of the new solution. If you see errors in the Output window, ignore them at this point.
If the original solution has custom code files or a custom resource file, copy them and paste them in the new solution.
Transform all templates and rebuild the solution. There should be no errors in the generated code.
If you want to deploy the domain-specific language, add a setup project to the new solution.
If the original solution has a customized .dslsetup file, copy it and paste it in the new solution.
Transform all templates and rebuild the solution.
The installation file is the .msi file in the \bin\Debug\ folder in the setup project.
The following steps are required to migrate a domain-specific language that was created by using the Beta version of Visual Studio 2008 SDK.
To migrate a domain-specific language from Visual Studio 2008 Beta
Select the DslPackage project, right-click the project name, click Properties, and on the Debug page add /ranu to the Command line arguments box.
Before the solution is loaded, in the DslPackage.csproj file, change the RegisterWithCodeBase value to true and the GacTargetOutput value to false.
Before the solution is loaded, in the Dsl.csproj file, change the GacTargetOutput value to false.