/// <summary> ///向脚本引擎添加引用 /// </summary> /// <param name="strDllName">引用使用的DLL文件名</param> public bool AddRefrence(string strDllName) { try { //log.Debug("向脚本引擎添加引用" + strDllName ); Microsoft.Vsa.IVsaReferenceItem RefItem = InnerCreateItem(strDllName, Microsoft.Vsa.VsaItemType.Reference, Microsoft.Vsa.VsaItemFlag.None) as Microsoft.Vsa.IVsaReferenceItem; RefItem.AssemblyName = strDllName; return(true); } catch (Exception ext) { log.Debug("向脚本引擎添加引用 " + strDllName + " 错误\r\n", ext); } return(false); }
/// <summary> /// Add a reference to the script context. /// This allows the use of assemblies from within the script context. /// </summary> /// <param name="Name">The name of the reference within the script engine.</param> /// <param name="AssemblyName">The fullname of the referenced assembly.</param> /// <returns>Success</returns> public bool AddReference(string referenceItemName, string assemblyName) { if (referenceItemName == null) { throw new System.ArgumentNullException(); } if (assemblyName == null) { throw new System.ArgumentNullException(); } if (!this._VsaEngine.IsValidIdentifier(referenceItemName)) { return(false); } try { // // Create a reference to the object // Microsoft.Vsa.IVsaReferenceItem vsaReferenceItem = (Microsoft.Vsa.IVsaReferenceItem) this._VsaEngine.Items.CreateItem( referenceItemName, Microsoft.Vsa.VsaItemType.Reference, Microsoft.Vsa.VsaItemFlag.None); // // Set the assemblyname // vsaReferenceItem.AssemblyName = assemblyName; } catch (Microsoft.Vsa.VsaException e) { throw new System.ApplicationException( string.Format( ( "A VsaException occurred\n" + "ErrorCode {0}\n" ), e.ErrorCode.ToString() ) ); } return(true); }