Microsoft.Vsa.dll 是 .NET Framework 中承载 VSA(Visual Studio for Applications)脚本引擎的托管程序集,对应 Microsoft.Vsa 命名空间。它把脚本编译、执行与调试能力封装为一组可编程接口,使宿主应用程序能够在自身进程内嵌入脚本运行时,从而在不重新编译主程序的前提下扩展业务逻辑。
脚本引擎宿主接口:定义 IVsaEngine、IVsaSite、IVsaCodeItem、IVsaReferenceItem、IVsaItem 等契约,规范宿主与脚本引擎之间的调用边界,涵盖代码项创建、引用项添加、引擎初始化与关闭等生命周期动作。
动态编译与执行:由 BaseVsaEngine 提供引擎基类实现,负责将 JScript、VBScript 等脚本源码动态编译为可执行的程序集片段,并在宿主 AppDomain 内完成调用与结果回传。
引用解析与状态回传:通过 IVsaSite.GetCompiledState、GetGlobalInstance 等回调,向引擎提供宿主已加载的程序集与全局对象实例,实现宿主对象模型与脚本代码之间的双向绑定。
事件与诊断支持:提供脚本错误定位、源码行号映射、调试挂起与断点响应等能力,便于宿主捕获脚本异常并输出可读的诊断信息。
COM 互操作注册:程序集向注册表写入 COM 可见类型与类型库信息,使非托管宿主(传统 Win32 应用、Office 宿主等)能够以 COM 方式创建并使用脚本引擎。