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)); }
/// <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()); }