该 DLL 是 X# 的 "快速" 宏编译器。宏编译器使用 C# 编写,与 XSharp.Core 有硬编码依赖关系。
请注意,XSharp.RT.DLL 和 XSharp.Macrocompiler.DLL 之间没有链接。当你编译宏时,运行时将尝试使用下面列出的方法来定位宏编译器。
你可以使用实现宏编译器的类的类型调用 SetMacroCompiler() 来覆盖这一机制。该类应实现 XSharp.IMacroCompiler 接口。如果你想使用标准宏编译器,则需要添加对 XSharp.MacroCompiler.dll 的引用,并在应用程序的启动代码中添加以下代码:
SetMacroCompiler(typeof(XSharp.Runtime.MacroCompiler))
如果不这样做,运行时将尝试在以下位置定位宏编译器:
•加载 XSharp.RT.DLL 的目录
•路径中的目录。如果使用此方法,请确保下列程序集与 XSharp.MacroCompiler.DLL 位于同一文件夹中
•全局程序集缓存(GAC)。如果使用此机制,请确保下面列出的程序集也在 GAC 中。
此程序集依赖于
•XSharp.Core.DLL
XSharp 安装程序会将宏编译器及其依赖的程序集添加到 GAC 中,因此您无需将宏编译器添加到应用程序的引用列表中就能运行应用程序。在部署应用程序时,请确保在安装程序中包含宏编译器。