To VSA or not VSA - This is the question...
Hello World
I thought that it will take me a while before I'll post a new remark, but I have to share this with you. I spend most of the day by searching, learning and deciding how to add scripting capabilities to a .NET project. I have found three main ways to do it:
- The obvious way – use .NET scripting technology, VSA: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnclinic/html/scripting06112001.asp
- DIY – use reflection, CodeDom and such to create your own plug-in and scripting capabilities: http://www.divil.co.uk/net/articles/plugins/scripting.asp
- Use the good old VBScript technology – a great article from Roy Oshorove: http://weblogs.asp.net/rosherove/articles/dotnetscripting.aspx
With all my respect to Roy (and I do have) my customer wants to use .NET technology. Actually I have told him about VSA and he liked it. However after chasing all day for more information about VSA and try to find the VSA SDK (I even registered & downloaded the VSIP with hope that VSA SDK is hiding there…) I have found this response (http://www.dotnet247.com/247reference/msgs/38/194372.aspx)
"At this time we are not accepting new evaluations for VSA although we will
continue to support customers already in the program. We are evaluating
alternatives for the next version of VSA. In the meantime, we recommend one
of two approaches. If you are looking just for runtime customization and you
don't need an IDE you should use the ICodeCompiler interfaces in the .NET
Framework. If you need an IDE you should investigate integrating into Visual
Studio via the Visual Studio Industry Partner Program
(http://www.vsipdev.com/). We recently announced new levels of VSIP,
including free access to the VSIP SDK. Integrating into Visual Studio via
VSIP offers a more complete solution than VSA, offering WinForms and C#
support for example, neither of which is supplied by VSA. We appreciate your
patience and understanding as we work on our future direction. We look
forward to sharing more information with you as it becomes available".
Hope this helps
Mark
If anyone knows anything about the replacement of VSA, I will be glad to know. Also there should be some official guide from Microsoft telling what to do until their next .NET scripting technology. Unless I missed something they should have a page that announce the current state of VSA (It is not reasonable to search the Web for an answer)
Usually when I do software architecture for a new project, I try to choose the current technology that will be promote using an easy path to a newer technology in the future. For example Microsoft tells you today not to use Remoting internals (custom sinks, etc.) if you want an easy upgrade path to Indigo. Actually the best way to be prepared to Indigo is by using Enterprise Services. The same idea goes with scripting capabilities. I can create my own custom interfaces and use CodeDom and reflection, but I really don't know how much work I'll have to do when a new scripting technology will be available. At least they should give some whitepapers, please.
Alon.