internal static byte[] GetAssemblyData(bool buildProject = false)
        {
            if (buildProject)
            {
                BuildProject();
            }

            return(File.ReadAllBytes(DteHelper.GetAssemblyPath()));
        }
        internal static string GetAssemblyVersion(Project project = null, bool buildProject = false)
        {
            if (buildProject)
            {
                BuildProject();
            }

            project = project ?? DteHelper.GetSelectedProject();
            return(GetAssemblyInfo(project: project).Version);
        }
        internal static List <string> GetClasses <TClassType>(Project project = null, bool buildProject = false)
        {
            if (buildProject)
            {
                BuildProject();
            }

            project = project ?? DteHelper.GetSelectedProject();
            return(GetAssemblyInfo(typeof(TClassType).FullName, project).Classes.ToList());
        }
        internal static AssemblyInfo GetAssemblyInfo(string fullClassName = "", Project project = null, bool buildProject = false)
        {
            if (buildProject)
            {
                BuildProject();
            }

            project = project ?? DteHelper.GetSelectedProject();
            return(new AssemblyInfoLoader.AssemblyInfoLoader().GetAssemblyInfo(DteHelper.GetAssemblyPath(project),
                                                                               DteHelper.GetAssemblyDirectory() + "\\CrmPluginRegExt.AssemblyInfoLoader.dll", fullClassName));
        }
示例#5
0
        /// <summary>
        ///     Returns the plugin entity, but only the ID is included.
        /// </summary>
        /// <returns>Assembly entity.</returns>
        internal static PluginAssembly GetCrmAssembly(XrmServiceContext context)
        {
            Status.Update("Fetching CRM assembly ... ");

            var assembly = (from assemblyQ in context.PluginAssemblySet
                            where assemblyQ.Name == DteHelper.GetProjectName(null)
                            select new PluginAssembly
            {
                Id = assemblyQ.Id,
                Name = assemblyQ.Name,
                IsolationMode = assemblyQ.IsolationMode
            }).FirstOrDefault();

            Status.Update("** Finished fetching CRM assembly.");

            return(assembly);
        }
 internal static void BuildProject()
 {
     Status.Update("Building project ... ", false);
     DteHelper.BuildSelectedProject();
     Status.Update("done!");
 }
 internal static string GetAssemblyPath()
 {
     return(DteHelper.GetAssemblyPath());
 }