/// <summary> /// This method builds the classes for the current project. /// If Write Classes is false the database schema will be /// loaded the classes will not be built. /// </summary> /// <param name="currentProject"></param> /// <param name="fileManager"></param> /// <param name="writeClasses"></param> /// <returns></returns> public bool BuildClasses(Project currentProject, ProjectFileManager fileManager, bool writeClasses) { // initial value bool success = false; // Create DataManager this.Setup(currentProject); // 12.19.2021 TargetFrameworkEnum targetFramework = (TargetFrameworkEnum)currentProject.TargetFramework; // Create New ClassWriter Object CSharpClassWriter classWriter = new CSharpClassWriter(fileManager, BusinessObjectPass, false, targetFramework); // Add Databases AddDatabases(ref currentProject); // if write classes if (writeClasses) { // Write DataManager success = classWriter.WriteDataClasses(DataManager); } else { // set success to true success = true; } // return value return(success); }
internal static TargetFramework GetTargetFrameworkForAssembly(Type typeInTheAssembly) { var assembly = typeInTheAssembly.Assembly; //Console.WriteLine("assembly.FullName: " + assembly.FullName); //var manifestModule = assembly.ManifestModule; //Console.WriteLine("manifestModule.FullyQualifiedName: " + manifestModule.FullyQualifiedName); //Console.WriteLine("manifestModule.ScopeName: " + manifestModule.ScopeName); //// When TargetFramework is .NET Framework 2.0 : "v2.0.50727" for below ImageRuntimeVersion //Console.WriteLine("typeof(Graph).Assembly.ImageRuntimeVersion " + assembly.ImageRuntimeVersion); // typeof(Graph).Assembly.ImageRuntimeVersion v2.0.50727 // but the same string below was printed when using .NET 3.0 // typeof(Graph).Assembly.ImageRuntimeVersion v2.0.50727 object[] customAttributes = assembly.GetCustomAttributes(typeof(TargetFrameworkAttribute), true); foreach (TargetFrameworkAttribute targetFramework in customAttributes) { //Console.WriteLine("targetFramework.TypeId : " + targetFramework.TypeId); //Console.WriteLine("targetFramework.FrameworkDisplayName : " + targetFramework.FrameworkDisplayName); Console.WriteLine("targetFramework.FrameworkName : " + targetFramework.FrameworkName); // The below strings have been tested when having used .NET Standard 1.0 - 1.6 as the targets // Tested strings so far (by changing the target framework and watching the output): //".NETStandard,Version=v1.0" //".NETStandard,Version=v1.1" //".NETStandard,Version=v1.2" //".NETStandard,Version=v1.3" //".NETStandard,Version=v1.4" //".NETStandard,Version=v1.5" //".NETStandard,Version=v1.6" TargetFrameworkEnum framework = GetTargetFrameworkEnumFromStringWithName(targetFramework.FrameworkName); if (framework != TargetFrameworkEnum.UNKNOWN) { return(new TargetFramework(framework)); } } return(new TargetFramework(TargetFrameworkEnum.UNKNOWN)); }
internal TargetFramework(TargetFrameworkEnum targetFramework) { Console.WriteLine("Detected targetFramework for the assembly: " + targetFramework); this._targetFramework = targetFramework; }
/// <summary> /// Create a new instance of DataManagerCreator /// </summary> public DataManagerCreator(List <DataTable> dataTablesArg, ReferencesSet objectReferencesArg, string rootDataManagerPathArg, string projectNameArg, string nameSpaceNameArg, ProjectFileManager fileManager, TargetFrameworkEnum targetFramework) : base(fileManager, false, false, targetFramework) { // Set Properties this.DataTables = dataTablesArg; this.ProjectName = projectNameArg; this.NameSpaceName = nameSpaceNameArg; this.RootDataManagerPath = rootDataManagerPathArg; this.ObjectReferences = objectReferencesArg; }