Hi
I created a Guidance Package in VS2005. To upgrade the package for use with VS2008, I followed Jose's instructions in an earlier post (http://social.msdn.microsoft.com/Forums/en-US/vsgatk/thread/8777845e-f7c6-4314-a9a3-69943b9409a0)
My Guidance Package installed fine. I have a recipe that unfolds a solution template containing a number of projects. I want the name of each project to be prefixed by the value of another argument for consistent naming. To do this, I created an argument:
<
Argument Name="ProjectPrefix" Required="true">
<
Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.RegexMatchStringConverter, Microsoft.Practices.RecipeFramework.Library" Expression="^[\w*.?]*[^\W]$"/>
</
Argument>
I then created a number of other arguments (to represent the names of the projects in the solution) and use the ProjectPrefix argument to prefix the project name I wantede.g.
<Argument Name="AppName">
<
Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.RegexMatchStringConverter, Microsoft.Practices.RecipeFramework.Library" Expression="^[\w*.?]*[^\W]$"/>
<
ValueProvider Type="Evaluator" Expression="$(ProjectPrefix).AppName">
<
MonitorArgument Name="ProjectPrefix" />
</
ValueProvider>
</
Argument>
So the name of the "AppName" project will be$(ProjectPrefix).AppName. However, when I unfold the solution the project is named with the first letter of the Project Prefix argument:
- So if the ProjectPrefix is "MyTestApp"
- The value of AppName should be (and in the wizard it is) "MyTestApp.AppName".
- However, when unfolded the created project is named "M.AppName". Only the first letter of the ProjectPrefix arg is used. I know there is nothing wrong with the value of the argument as I use the same argument in the associated AssemblyInfo.cs file and the substitution is correct.
If I install my Guidance Package for VS2005 and run the same functionality it works!
AmI missing some important difference between templates in VS2005 /VS2008?
Thanks
Kevin