Ejemplo n.º 1
0
 /// <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);
 }
Ejemplo n.º 2
0
        /// <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);
        }