Semiconductor process equipment and control class library file generation method and device
By generating configuration files and deleting or identifying resource paths without usage permissions, executing configuration programs to generate summary resource files, and storing resources in a tile manner, the problem of inflexible resource use of class library projects in the existing technology is solved, and the multi-permission version of DLL file generation and resource search loading speed is improved.
Patent Information
- Application Number
- CN202311864625.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-29
- Publication Date
- 2025-07-01
AI Technical Summary
In the prior art, different library projects of the same version of the library use the same resources, and cannot adapt to the needs of different library projects, and have poor flexibility.
By generating a configuration file, including the resource path corresponding to the resource file to be compiled, obtain resources that do not have usage permissions for the current class library project, and delete or add the corresponding resource path identified in the configuration file. Then, the configuration program is executed, the resources in the corresponding resource file are loaded according to the resource path, the summary resource file is generated, and multiple resources are stored in a tiled manner. Finally, the summary resource file is compiled to obtain the control class library file.
It realizes the use permissions of different library projects on resources, and generates multiple permission versions of dll files, adapting to the needs of different library projects, increasing flexibility, and improving the search and loading speed of resources.
Smart Images

Figure CN120234033A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of software control, and particularly relates to a method and device for generating a semiconductor process equipment and a control library file. Background Art
[0002] In recent years, in order to adapt to the rapid iteration of the software control system of semiconductor process equipment, many companies have started to develop their own control libraries. Currently, for the control library framework, generally multiple sets of control library versions are created at the same time, each version corresponding to multiple resource files to be compiled, and finally multiple versions of control library (dll) files are compiled.
[0003] In the related art, the structure of the control library framework is as Figure 1 shown. The underlying platform adopts the.NET Framework framework. Different.NET Framework versions can correspond to different version controls (Version A control, Version B control, and Version C control). Multiple resource files to be compiled under a certain version control (such as Version A control) (such as Version A.xmal) are added to the default container file (Generic.xaml) of the default resources of the custom control through the function of merging resource dictionaries (ResourceDictionary.MergedDictionaries) of the Windows-based user interface framework (Windows Presentation Foundation, abbreviated as WPF), and resource sharing between applications is achieved, and the corresponding version of the dll file (such as Version A control dll file) is compiled. According to different.NET Framework versions, multiple versions of dll files can be compiled in sequence. However, the above solution uses the same resources for different library projects of the same version library and cannot meet the requirements of different library projects, with poor flexibility. Summary of the Invention
[0004] The purpose of the embodiments of this application is to provide a method, device, electronic device, semiconductor process equipment, and storage medium for generating a control library file of a semiconductor process equipment, so as to solve the problem in the related art that different library projects of the same version library use the same resources and cannot meet the requirements of different library projects, with poor flexibility.
[0005] To achieve the above purpose, the embodiments of this application adopt the following technical solutions:
[0006] In a first aspect, an embodiment of the present application provides a method for generating a control class library file of a semiconductor process device, including: generating a configuration file, where the configuration file includes a resource path corresponding to a resource file to be compiled; obtaining resources that the current class library project does not have permission to use; deleting the resource path corresponding to the resource without permission in the configuration file, or adding a set identifier to the resource path corresponding to the resource without permission; executing a configuration program to load resources in the corresponding resource file according to the resource path, and for the blank resource path or the resource path added with the set identifier, not loading the corresponding resource, and generating a summary resource file according to the loaded resources, where multiple resources in the summary resource file are stored in a tiled manner; and compiling the summary resource file to obtain a control class library file.
[0007] In a second aspect, an embodiment of the present application provides a device for generating a control class library file of a semiconductor process device, including: a generating module for generating a configuration file, where the configuration file includes a resource path corresponding to a resource file to be compiled; an obtaining module for obtaining resources that the current class library project does not have permission to use; a processing module for deleting the resource path corresponding to the resource without permission in the configuration file, or adding a set identifier to the resource path corresponding to the resource without permission; an executing module for executing a configuration program to load resources in the corresponding resource file according to the resource path, and for the blank resource path or the resource path added with the set identifier, not loading the corresponding resource, and generating a summary resource file according to the loaded resources, where multiple resources in the summary resource file are stored in a tiled manner; and a compiling module for compiling the summary resource file to obtain a control class library file.
[0008] In a third aspect, an embodiment of the present application provides an electronic device, including: a processor, a memory, and a program or instruction stored on the memory and executable on the processor, where when the program or instruction is executed by the processor, the steps of the method for generating a control class library file of a semiconductor process device as described in the first aspect embodiment of the present application are implemented.
[0009] In a fourth aspect, an embodiment of the present application provides a semiconductor process device, including: a processor, a memory, and a program or instruction stored on the memory and executable on the processor, where when the program or instruction is executed by the processor, the steps of the method for generating a control class library file of a semiconductor process device as described in the first aspect embodiment of the present application are implemented.
[0010] Fifth aspect, an embodiment of the present application provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method for generating a control class library file of a semiconductor process device as described in the first aspect embodiment of the present application are implemented.
[0011] The above at least one technical solution adopted in the embodiments of the present application can achieve the following beneficial effects:
[0012] When generating a dll file according to a resource file to be compiled in an embodiment of the present application, a configuration file is first generated. The configuration file includes the resource path corresponding to the resource file to be compiled, obtains the resources that the current class library project has no permission to use, and deletes the resource path corresponding to the resource that has no permission to use in the configuration file, or adds a set identifier to the resource path corresponding to the resource that has no permission to use. Then, the configuration program is executed to load the resources in the corresponding resource file according to the resource path. For blank resource paths or resource paths added with a set identifier, the corresponding resources are not loaded, and a summary resource file is generated according to the loaded resources. The multiple resources in the summary resource file are stored in a tiled manner, and the summary resource file is compiled to obtain a control class library file. In the embodiment of the present application, by deleting the resource path corresponding to the resource that the current class library project has no permission to use in the configuration file, or adding a set identifier to the resource path corresponding to the resource that the current class library project has no permission to use, it is ensured that when loading resources subsequently, resources that have no permission to use are not loaded, and only resources with permission to use are loaded, realizing the loading of resources with corresponding permissions according to the usage permissions of resources for different class library projects, and generating dll files of multiple permission versions, which can meet the requirements of different class library projects and increase flexibility. Description of the Drawings
[0013] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The schematic embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:
[0014] Figure 1 It is a schematic diagram of a control library framework in the related art;
[0015] Figure 2 It is a schematic flowchart of a method for generating a control class library file of a semiconductor process device provided by an embodiment of the present application;
[0016] Figure 3 It is a schematic flowchart of a method for generating a control class library file of a semiconductor process device provided by another embodiment of the present application;
[0017] Figure 4Flow chart of a method for generating a control class library file of a semiconductor process equipment provided for another embodiment of the present application;
[0018] Figure 5 UML diagram of a ResourceElement type of unified modeling language provided for an embodiment of the present application;
[0019] Figure 6 Schematic diagram of a control library framework provided for an embodiment of the present application;
[0020] Figure 7 Overall flow chart of a method for generating a control class library file of a semiconductor process equipment provided for another embodiment of the present application;
[0021] Figure 8 Schematic diagram of a structure of a device for generating a control class library file of a semiconductor process equipment provided for an embodiment of the present application;
[0022] Figure 9 Schematic diagram of a structure of a device for generating a control class library file of a semiconductor process equipment provided for another embodiment of the present application;
[0023] Figure 10 Schematic diagram of a structure of an electronic device provided for an embodiment of the present application. Detailed implementation manners
[0024] To make the objectives, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be clearly and completely described below in conjunction with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without making creative efforts shall fall within the protection scope of the present application.
[0025] The terms "first", "second", etc. in the present application are used to distinguish similar objects, rather than to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein. In addition, the "and / or" in the present application means at least one of the connected objects, and the character " / " generally means an "or" relationship between the associated objects before and after. It should be noted that the data involved in the present application are all obtained under the premise of obtaining user authorization.
[0026] Currently, for a control library framework, generally multiple sets of control library versions are created simultaneously and finally compiled into multiple dll files. In the related art, for different library projects of the same version library, the same resources are used, which cannot meet the requirements of different library projects and has poor flexibility. For this reason, the present application proposes a method, device, electronic device, semiconductor process equipment and storage medium for generating a control library file of a semiconductor process equipment.
[0027] The following will describe in detail the technical solutions provided by the embodiments of the present application with reference to the accompanying drawings.
[0028] Figure 2 The following is a schematic flowchart of a method for generating a control library file of a semiconductor process equipment provided by an embodiment of the present application. As Figure 2 shown, the method for generating a control library file of a semiconductor process equipment according to the embodiment of the present application may specifically include the following steps:
[0029] S201, generate a configuration file, where the configuration file includes the resource paths corresponding to the resource files to be compiled.
[0030] In the embodiment of the present application, the execution subject of the method for generating a control library file of a semiconductor process equipment according to the embodiment of the present application is a device for generating a control library file of a semiconductor process equipment, and this device can be set in a semiconductor process equipment, such as a horizontal furnace for producing semiconductor devices such as photovoltaic wafers.
[0031] Create a blank configuration file, such as a Generator.txt file in txt format. This Generator.txt file is used to store the resource paths corresponding to the resource file xmal. The resource path is the storage location corresponding to the resource file xmal.
[0032] Develop custom controls and corresponding multiple resource files xmal, such as the professional name of the semiconductor process equipment.xaml, the related pictures of the semiconductor process equipment.xaml, valve resource A.xaml and valve resource B.xaml, as the resource files to be compiled. Each resource file xmal stores multiple resources, such as valve styles, valve colors, etc. Store multiple resource files xmal, and the storage location of each resource file xmal is the resource path corresponding to this resource file xmal.
[0033] Add the resource paths of each resource file xmal to the blank configuration file Generator.txt in text form, and each resource path can occupy one line. The generated configuration file Generator.txt may be as follows:
[0034] D\valve resource A.xaml
[0035] D\ Valve Resource B.xaml
[0036] D\ Semiconductor Process Equipment Professional Name.xaml
[0037] D\ Semiconductor Process Equipment Related Pictures.xaml
[0038] Among them, the first line is the resource path D\ Valve Resource A.xaml corresponding to the resource file Valve Resource A.xaml, the second line is the resource path D\ Valve Resource B.xaml corresponding to the resource file Valve Resource B.xaml, the third line is the resource path D\ Semiconductor Process Equipment Professional Name.xaml corresponding to the resource file Semiconductor Process Equipment Professional Name.xaml, and the fourth line is the resource path D\ Semiconductor Process Equipment Related Pictures.xaml corresponding to the resource file Semiconductor Process Equipment Related Pictures.xaml.
[0039] Considering that different class library projects may have different usage permissions for all resources. For example, the resources of a certain Button control can only be used by project A and project B has no permission to use them. Therefore, for different class library projects, the generated dll files can include the resources for which they have usage permissions, and do not include the resources for which they have no usage permissions, so as to meet the needs of different projects and increase flexibility. To achieve this goal, the configuration file needs to be appropriately modified, specifically including the following steps S202 and S203.
[0040] S202, obtain the resources for which the current class library project has no usage permissions.
[0041] In the embodiment of the present application, for the class library project of the currently to-be-used resources, obtain the resources for which the class library project has no usage permissions. The usage permissions of each class library project for all resources can be preset and stored in the storage module.
[0042] S203, delete the resource path corresponding to the resource for which there is no usage permission in the configuration file, or add a set identifier to the resource path corresponding to the resource for which there is no usage permission.
[0043] In the embodiment of the present application, obtain the resource path corresponding to the resource for which the class library project has no usage permissions, and record it as the target resource path.
[0044] As a first feasible implementation method, the target resource path in the configuration file can be deleted. When each resource path in the configuration file occupies one line, the line data corresponding to the target resource path is empty.
[0045] As a second feasible implementation, in the configuration file, a setting identifier can be added to the target resource path. This setting identifier indicates that the current class library project has no right to use the resources corresponding to the target resource path, that is, the target resource path is invalid, which is equivalent to deleting the target resource path. For example, a setting identifier "#" can be added at the beginning of the target path. Suppose the current class library project only has the right to use valve resource B and has no right to use valve resource A. Then the modified configuration file Generator.txt can be as follows:
[0046] #D\Valve Resource A.xaml
[0047] D\Valve Resource B.xaml
[0048] D\Semiconductor Process Equipment Professional Name.xaml
[0049] D\Semiconductor Process Equipment Related Pictures.xaml
[0050] Among them, the setting identifier "#" is added at the beginning of the resource path in the first line, and the resource paths in other lines remain unchanged.
[0051] S204. Execute the configuration program to load the resources in the corresponding resource files according to the resource paths. For blank resource paths or resource paths with added setting identifiers, do not load the corresponding resources, and generate a summary resource file according to the loaded resources.
[0052] In the embodiments of the present application, a blank summary resource file is created, such as the Theme.xaml file. This Theme.xaml file is used to store all resources output to the dll file.
[0053] Develop a program for pre-compilation, that is, the configuration program, such as the XmlGenerator.exe program. Recompile the project, that is, trigger the execution of the configuration program XmlGenerator.exe. This configuration program XmlGenerator.exe loops through the file lines of the configuration file Generator.txt to obtain the resource paths corresponding to each resource file xaml. According to the resource path of the current line, find the resource file xaml and the resources in the resource file xaml under the corresponding resource path, and load these resources and store them in the summary resource file Theme.xaml.
[0054] It should be noted here that corresponding to steps S202 and S203, when loading the resources in the corresponding resource files according to the resource paths, for blank resource paths or resource paths with added setting identifiers, skip the resource path, that is, do not load the resources corresponding to the resource path, and continue to load the resources in the corresponding resource files according to the next resource path.
[0055] It should be noted here that multiple resources in the aggregated resource file can be stored in a flat manner. That is, when these loaded resources are stored in the aggregated resource file Theme.xaml, these resources are added to the aggregated resource file Theme.xaml in a flat form. The flat form means that all resources are added to the aggregated resource file Theme.xml, that is, all resources are at the same level.
[0056] It should be noted here that since all resources are stored in a flat manner, during use, the search complexity changes from log2N in the original tree structure storage to N, where N is the number of all resources, greatly improving the resource search speed and loading speed.
[0057] Those skilled in the art can understand that when these loaded resources are stored in the aggregated resource file Theme.xaml, a blank cached resource file, such as an XmlDocument file, can be created in advance to cache all resources output to the dll file. These loaded resources are first cached in the cached resource file XmlDocument, and then the cached resource file XmlDocument is stored in the aggregated resource file Theme.xaml.
[0058] S205, Compile the aggregated resource file to obtain a control class library file.
[0059] In the embodiment of the present application, a compiler is used to compile the aggregated resource file Theme.xaml to obtain a control dll file.
[0060] In summary, for the method for generating a control class library file of a semiconductor process equipment according to an embodiment of the present application, when generating a dll file based on a resource file to be compiled, a configuration file is first generated. The configuration file includes the resource path corresponding to the resource file to be compiled. Resources without usage permissions in the current class library project are obtained, and the resource paths corresponding to the resources without usage permissions in the configuration file are deleted, or a set identifier is added to the resource paths corresponding to the resources without usage permissions. Then, a configuration program is executed to load the resources in the corresponding resource file according to the resource paths. For blank resource paths or resource paths added with a set identifier, the corresponding resources are not loaded, and a summary resource file is generated according to the loaded resources. Multiple resources in the summary resource file are stored in a tiled manner, and the summary resource file is compiled to obtain a control class library file. By deleting the resource paths corresponding to the resources without usage permissions in the current class library project in the configuration file, or by adding a set identifier to the resource paths corresponding to the resources without usage permissions in the current class library project, the method of the embodiment of the present application enables non-loading of resources without usage permissions during subsequent resource loading, and only loading of resources with usage permissions, realizes loading of resources with corresponding permissions according to the usage permissions of resources for different class library projects, and generates dll files of multiple permission versions, which can meet the requirements of different class library projects and increase flexibility. In addition, the loaded resources are stored in a tiled manner in the summary resource file, and then a dll file is compiled. Since the resources are stored in a tiled manner in the summary resource file, when in use, the system only needs to search for and load the resources corresponding to the control among multiple resources at the same level, which improves the resource search and loading speed.
[0061] Figure 3 FIG. is a schematic flowchart of a method for generating a control class library file of a semiconductor process equipment according to another embodiment of the present application. As Figure 3 shown, on the basis of the embodiment shown in Figure 2 the method for generating a control class library file of a semiconductor process equipment according to an embodiment of the present application may specifically include the following steps:
[0062] S301, generate a configuration file, where the configuration file includes the resource path corresponding to the resource file to be compiled.
[0063] In the embodiment of the present application, step S301 is the same as step S201 in the above embodiment, and details are not described herein again.
[0064] S302, obtain resources without usage permissions in the current project.
[0065] S303, delete the resource paths corresponding to the resources without usage permissions in the configuration file, or add a set identifier to the resource paths corresponding to the resources without usage permissions.
[0066] In the embodiment of the present application, steps S302 - S303 are the same as steps S202 - S203 in the above - mentioned embodiment, and will not be elaborated here.
[0067] S304. Set the parameters of the configuration program according to the address of the configuration file and the address of the aggregated resource file.
[0068] In the embodiment of the present application, before executing the configuration program, the parameters of the configuration program can be set. Specifically, right - click -> "Solution" -> "Properties" -> "Build Events", and fill in the build event content as follows: Pre - compile the corresponding configuration program into XmlGenerator.exe. The first parameter is the address of the configuration file Generator.txt, and the second parameter is the address of the aggregated resource file Theme.xaml, for example (..\XmlGenerator.exe..\Generator.txt Theme.xaml).
[0069] S305. Execute the configuration program to load the resources in the corresponding resource file according to the resource path. For blank resource paths or resource paths added with a set identifier, do not load the corresponding resources, and generate an aggregated resource file according to the loaded resources.
[0070] In the embodiment of the present application, step S305 is the same as step S204 in the above - mentioned embodiment, and will not be elaborated here.
[0071] In addition, before executing the configuration program XmlGenerator.exe, it can also be checked whether both parameters of the configuration program XmlGenerator.exe (the address of the configuration file Generator.txt and the address of the aggregated resource file Theme.xaml) exist. If at least one parameter does not exist, the configuration program XmlGenerator.exe is not executed. If both parameters exist, the configuration program XmlGenerator.exe is executed.
[0072] Furthermore, a locking operation can be performed on the aggregated resource file Theme.xaml to prevent the file from being used or modified by other programs.
[0073] Those skilled in the art can understand that some resources do not include sub-resources, while some resources include sub-resources (denoted as first-level sub-resources), and first-level sub-resources may also include sub-resources (denoted as second-level sub-resources). For example, a valve control is a resource, which includes a valve picture, so the valve picture is a sub-resource. Another example is that the font color is a resource. If it is set to red, there are no further resources below the font color. Therefore, the font color is called a resource that does not contain sub-resources. Therefore, when loading resources in the corresponding resource file according to the resource path, it is necessary to load the resources in the corresponding resource file and the sub-resources at all levels corresponding to the resource according to the resource path. All resources and sub-resources at all levels are stored in the aggregated resource file Theme.xaml in a flat manner.
[0074] Since when using resources, the search order is from top to bottom according to the resource order. If the sub-resource has not been loaded, the parent resource will be stored in the aggregated resource file Theme.xaml first, and an error will occur during runtime. Therefore, when storing all resources and sub-resources at all levels in the aggregated resource file Theme.xaml, they need to be stored in the aggregated resource file Theme.xaml in the order of reference. Specifically, when generating the aggregated resource file based on the loaded resources, it is necessary to store the resources that do not include sub-resources, sub-resources at all levels, and their corresponding parent resources in the aggregated resource file in sequence, that is, first store the resources that do not include sub-resources, then recursively store sub-resources at all levels in sequence, and finally store the parent resources corresponding to sub-resources at all levels.
[0075] In addition, when generating the aggregated resource file Theme.xaml, the namespace of the aggregated resource file Theme.xaml can also be set according to the namespace of the resource file xaml.
[0076] Specifically, each resource file xaml has its own space. For example, the valve style is under the valve space, and this space needs to be introduced first when used externally. This space is the namespace. The namespace is an attribute of the resource file xaml.
[0077] The above step of "setting the namespace of the summary resource file according to the namespace of the resource file" can be specifically implemented through the following steps: loop through and read the attribute value Attributes of the namespace of the resource file xaml; determine whether the attribute value of the cached resource file XmlDocument for caching resources or the attribute value of the summary resource file Theme.xaml for storing resources includes the attribute value Value of the namespace of the resource file xaml; if it includes, update the attribute value Value of the namespace of the resource file xaml to the attribute value Attributes. If it does not include, add the attribute value Attributes to the attribute value of the cached resource file XmlDocument or the summary resource file Theme.xaml for storing resources.
[0078] The specific process of the above step of "generating a summary resource file according to the loaded resources" can be as Figure 4 shown and includes the following steps:
[0079] S401, create three empty sets: the first set list2, the second set list, and the third set dictionary.
[0080] Among them, the first set list2 is used to store the content of all output resources that are not sorted, and the type is list <resource node> (i.e., List <resourceelement>) can be represented as List <resourceelement>list2. The second set list, which is used to store the names of all resources and has a type of list <string> (i.e., List <string>) can be represented as List <string>list. The third set is a dictionary, which is used to store the content and name of all output resources that have not been sorted. Its type is a dictionary <string, resource node> (i.e., Dictionary<string, ResourceElement>), and can be represented as Dictionary<string, ResourceElement> dictionary.
[0081] Among them, the resource node (ResourceElement) type is used to describe resources. For example, the content of the resources included in the attributes, the name of the resources, and the set of names of sub-resources. Its Unified Modeling Language (UML) diagram is as Figure 5 shown. The Element attribute is of the XmlElement type (one of the most common nodes in the object model (DOM)) and is used to store the content of the corresponding resource. The Key attribute is of the string type and is used to store the name of the corresponding resource. The UsedKeys attribute is of the string[] array type and is used to store the names of all nested sub-resources.
[0082] S402, Read the resources in a loop.
[0083] S403, Determine whether the resource includes attributes named "Key", "x:Key", and "TargetType". If so, continue to execute step S404. If not, return to step S402.
[0084] S404, Determine whether the list collection already includes the name of the current resource. If so, return to step S402. If not, continue to execute step S405.
[0085] S405, Add the content of the current resource to the list2 collection and the dictionary collection, and add the name of the current resource to the dictionary collection and the list collection.
[0086] S406, Recursively search for the names of nested sub-resources and add them to the UsedKeys attribute of the ResourceElement object in the list2 collection and the dictionary collection.
[0087] S407, Create an empty set: the fourth set list3.
[0088] Among them, the fourth set list3 is used to store the content of all output resources after sorting. Its type is a list <resource node> (i.e., List <resourceelement>), which can be represented as List <resourceelement>list3. The difference between the list3 set and the list2 set lies in whether the resources stored in them are sorted.
[0089] S408, loop to read the resources in the list2 set.
[0090] S409, determine whether the resource nests sub-resources. If not, continue to execute step S410. If so, return to step S408.
[0091] S410, add the content of the current resource to the list3 set until all the resources in the list2 set that do not nest sub-resources are added to the list3 set.
[0092] S411, loop to read the remaining resources in the list2 set that nest sub-resources.
[0093] S412, loop to read the names of the sub-resources in the UsedKeys attribute of the list2 set.
[0094] S413, determine whether the name key of the resource corresponding to the name of the current sub-resource has been added to the list3 set. If so, return to step S412. If not, continue to execute step S414.
[0095] S414, search for the content of the corresponding resource in the dictionary set according to the name key of the corresponding resource.
[0096] S415, determine whether the name key of the corresponding resource exists in the dictionary. If not, return to step S412. If so, continue to execute step S416.
[0097] S416, add the content of the searched resource to the list3 set.
[0098] S417, loop to read the list3 set, and add the value of the XmlElement attribute in the corresponding ResourceElement object (i.e., the content of the resource) to the cached resource file XmlDocument.
[0099] S418, save the cached resource file XmlDocument to the summary resource file Theme.xml.
[0100] S306, compile the summary resource file to obtain the control class library file.
[0101] In the embodiment of the present application, step S306 is the same as step S205 in the above embodiment, and will not be elaborated here.
[0102] It should be noted here that when generating dll files for multiple platforms, if the underlying platform still uses the netfreamwork framework, since only one version of the dll file can be generated in one compilation, multiple sets of solutions need to be built and compiled multiple times to obtain dll files for multiple platforms. Therefore, the underlying platform of the embodiments of the present application uses the.NetCore framework. By modifying the solution (TargetFramework) node of the class library, dll files for multiple platforms can be generated simultaneously, such as.Net Framework 4.6.1 and.NET Core 3.0, etc., improving the generation efficiency of dll files.
[0103] Specifically, before step S301, a class library project such as a.NetCore class library project can be created, and the platform type corresponding to the solution node in the.NetCore class library project can be modified. The dll files of the platform types configured in the solution node are supported to be generated simultaneously.
[0104] Correspondingly, the above step S306 "compile the aggregated resource file to obtain the control class library file" can specifically include: compiling the aggregated resource file to obtain the control class library file of the platform type.
[0105] In summary, in the method for generating the control class library file of the semiconductor process equipment according to the embodiments of the present application, by deleting the resource path corresponding to the resource without the usage permission for the current class library project in the configuration file, or by adding a set identifier to the resource path corresponding to the resource without the usage permission for the current class library project, it is ensured that when the resources are loaded subsequently, the resources without the usage permission are not loaded, and only the resources with the usage permission are loaded. It realizes loading the resources with the corresponding permissions according to the usage permissions of the resources for different class library projects and generating dll files of multiple permission versions, which can meet the requirements of different class library projects and increase flexibility. In addition, the loaded resources are stored in the aggregated resource file in a flat manner, and then the dll file is compiled. Since the resources are stored in the aggregated resource file in a flat manner, when used, the system only needs to search for the resource corresponding to the control among multiple resources at the same level and load it, improving the search and loading speed of the resources. By creating a.NetCore class library project and modifying the platform type corresponding to the solution node in the.NetCore class library project, dll files for multiple platforms can be generated simultaneously, improving the generation efficiency of dll files. According to the address of the configuration file and the address of the aggregated resource file, the parameters of the configuration program are set, so that when the configuration program is executed, it can read the configuration file and write to the aggregated resource file according to the addresses in the parameters. The resources without sub-resources, sub-resources at all levels and their corresponding parent resources are stored in the aggregated resource file in sequence. By storing them in sequence, it ensures that the process of searching for resources runs smoothly without errors when using the resources.
[0106] To clearly illustrate the method for generating the control class library file of the semiconductor process equipment in the embodiments of the present application, the following will be combined with Figure 6 to describe the control library framework of the embodiments of the present application. As Figure 6 shown, the underlying platform adopts the.NetCore framework. By modifying the solution node, multiple dll files for multiple platforms can be generated simultaneously in one compilation. Different platform versions (such as NETramework4.5, NETramework4.6, and Net Core3.0, etc.) correspond to different version controls (A version control, B version control, and C version control). Add multiple resource files to be compiled (such as A version.xmal) under each version control (such as A version control) to the configuration file Generator.txt, and execute the configuration program XmlGenerator.exe to dynamically generate the aggregated resource file Theme.xaml according to the configuration file Generator.txt. All resource files are stored in a flat manner in the aggregated resource file Generator.txt. When used, the search complexity changes from log2N in the original tree structure storage to N, greatly improving the resource search speed and loading speed. The configuration file can be modified according to the resource usage rights of different projects. According to different configuration files, multiple permission versions of dll files can be generated, increasing flexibility. And according to multiple platform types in the solution node, multiple platform dll files (such as A version control dll file, B version control dll file, and C version control dll file) can be compiled and generated simultaneously, improving the generation efficiency of dll files.
[0107] To clearly illustrate the method for generating the control class library file of the semiconductor process equipment in the embodiments of the present application, the following will be combined with Figure 7 to describe in detail the overall process of the method for generating the control class library file of the semiconductor process equipment in the embodiments of the present application. As Figure 7 shown, the method for generating the control class library file of the semiconductor process equipment in the embodiments of the present application may specifically include the following steps:.
[0108] S701, create a.NetCore class library project and modify the platform type corresponding to the solution node in the.NetCore class library project.
[0109] S702, create a configuration file Generator.txt, develop custom controls and corresponding multiple resource files xmal, and add the resource paths of each resource file xmal to the configuration file Generator.txt.
[0110] S703. Obtain the resources for which the current class library project has no usage permissions, delete the resource paths corresponding to the resources without usage permissions in the configuration file Generator.txt, or add a "#" sign to the resource paths corresponding to the resources without usage permissions.
[0111] S704. Create a summary resource file Theme.xaml.
[0112] S705. Right-click -> "Solution" -> "Properties" -> "Build Events", and fill in the build event content as follows: Pre-compile the corresponding configuration program into XmlGenerator.exe, the first parameter is the address of the configuration file Generator.txt, and the second parameter is the address of the summary resource file Theme.xaml, for example (..\XmlGenerator.exe..\Generator.txt Theme.xaml).
[0113] S706. Recompile the project to trigger the execution of the configuration program XmlGenerator.exe.
[0114] S707. Check whether both parameters of the configuration program XmlGenerator.exe exist.
[0115] S708. If both parameters exist, perform a locking operation on the Theme.xml file. If at least one parameter does not exist, end the process.
[0116] S709. Create a cached resource file XmlDocument.
[0117] S710. Read the file lines of the configuration file Generator.txt in a loop.
[0118] S711. Determine whether the line data is empty or whether the line data starts with a "#" sign. If so, that is, if the line data is empty or starts with a "#" sign, skip this line and return to step S710. If not, that is, if the line data is not empty and does not start with a "#" sign, continue to execute step S712.
[0119] S712. Obtain the resources corresponding to the current line's resource path and recursively obtain all levels of sub-resources under the resources.
[0120] S713. Add the resources and all levels of sub-resources to the cached resource file XmlDocument.
[0121] S714. Save the cached resource file XmlDocument to the summary resource file Theme.xml.
[0122] S715, compile the aggregated resource file Theme.xml to obtain a dll file.
[0123] Figure 8 The structural schematic diagram of a generating device for a control class library file of a semiconductor process equipment provided by an embodiment of the present application. As Figure 8 shown, the generating device 800 for the control class library file of the semiconductor process equipment in the embodiment of the present application may specifically include: a generating module 801, an obtaining module 802, a processing module 803, an executing module 804, and a compiling module 805. Among them:
[0124] The generating module 801 is used to generate a configuration file, and the configuration file includes the resource path corresponding to the resource file to be compiled.
[0125] The obtaining module 802 is used to obtain the resources without usage permissions in the current class library project.
[0126] The processing module 803 is used to delete the resource path corresponding to the resource without usage permissions in the configuration file, or add a set identifier to the resource path corresponding to the resource without usage permissions.
[0127] The executing module 804 is used to execute a configuration program to load the resources in the corresponding resource file according to the resource path. For blank resource paths or resource paths added with a set identifier, the corresponding resources are not loaded, and an aggregated resource file is generated according to the loaded resources.
[0128] The compiling module 805 is used to compile the aggregated resource file to obtain a control class library file.
[0129] In the embodiment of the present application, for the specific process of each module and unit in the generating device for the control class library file of the semiconductor process equipment in the embodiment of the present application to implement its functions, reference may be made to the relevant descriptions in the embodiment of the generating method for the control class library file of the semiconductor process equipment above, which will not be elaborated here.
[0130] In summary, when generating the control library file of the semiconductor process equipment according to the resource file to be compiled, the generating device of the control library file of the semiconductor process equipment according to the embodiment of the present application first generates a configuration file, where the configuration file includes the resource path corresponding to the resource file to be compiled, obtains the resources without usage permissions in the current library project, and deletes the resource path corresponding to the resources without usage permissions in the configuration file, or adds a set identifier to the resource path corresponding to the resources without usage permissions, and then executes the configuration program, loads the resources in the corresponding resource file according to the resource path, for the blank resource path or the resource path added with the set identifier, does not load the corresponding resources, and generates a summary resource file according to the loaded resources, and compiles the summary resource file to obtain the control library file. By deleting the resource path corresponding to the resources without usage permissions in the current library project in the configuration file, or adding a set identifier to the resource path corresponding to the resources without usage permissions in the current library project, the embodiment of the present application enables the subsequent resource loading to only load the resources with usage permissions and not load the resources without usage permissions, realizes loading the resources with corresponding permissions according to the usage permissions of the resources for different library projects, and generates dll files of multiple permission versions, which can meet the requirements of different library projects and increase flexibility.
[0131] Figure 9 FIG. is a schematic structural diagram of a generating device of a control library file of a semiconductor process equipment according to another embodiment of the present application. As Figure 9 shown, on the basis of the embodiment shown in Figure 8 In the generating device 800 of the control library file of the semiconductor process equipment according to the embodiment of the present application, the generating module 801 is further configured to: create a library project before generating the configuration file; modify the platform type corresponding to the solution node in the library project. Correspondingly, the compiling module 805 is further configured to: compile the summary resource file to obtain a control library file of the platform type.
[0132] In a feasible implementation manner of the embodiment of the present application, the execution module 804 is further configured to: set the parameters of the configuration program according to the address of the configuration file and the address of the summary resource file before executing the configuration program.
[0133] In a feasible implementation manner of the embodiment of the present application, the execution module 804 further includes: an execution unit 901, configured to load the resources and all levels of sub-resources in the corresponding resource file according to the resource path.
[0134] In a feasible implementation manner of the embodiment of the present application, the execution module 804 is further configured to: sequentially store the resources without sub-resources, all levels of sub-resources and their corresponding parent resources into the summary resource file.
[0135] In a feasible implementation manner of the embodiment of the present application, the execution module 804 is further configured to: set the namespace of the aggregated resource file according to the namespace of the resource file.
[0136] In a feasible implementation manner of the embodiment of the present application, multiple resources in the aggregated resource file are stored in a tiled manner.
[0137] In the embodiment of the present application, for the specific processes of each module and unit in the generating device of the control library file of the semiconductor process equipment in the embodiment of the present application to implement their functions, reference may be made to the relevant descriptions in the embodiment of the method for generating the control library file of the semiconductor process equipment above, which will not be elaborated here.
[0138] In summary, for the generating device of the control library file of the semiconductor process equipment in the embodiment of the present application, by deleting the resource path corresponding to the resource without the usage permission for the current library project in the configuration file, or by adding a set identifier to the resource path corresponding to the resource without the usage permission for the current library project, when subsequent resources are loaded, resources without the usage permission are not loaded, and only resources with the usage permission are loaded, realizing loading resources with corresponding permissions according to the usage permissions of resources for different library projects, and generating dll files of multiple permission versions, which can meet the requirements of different library projects and increase flexibility. In addition, the loaded resources are stored in the aggregated resource file in a tiled manner, and then the dll file is compiled. Since the resources are stored in the aggregated resource file in a tiled manner, when in use, the system only needs to search for the resource corresponding to the control among multiple resources at the same level and load it, improving the search and loading speed of the resources. By creating a.NetCore class library project and modifying the platform type corresponding to the solution node in the.NetCore class library project, dll files of multiple platforms can be generated simultaneously, improving the generation efficiency of the dll files. According to the address of the configuration file and the address of the aggregated resource file, setting the parameters of the configuration program can enable the configuration program to read the configuration file and write to the aggregated resource file according to the addresses in the parameters when executing. The resources that do not include sub-resources, sub-resources at all levels and their corresponding parent resources are sequentially stored in the aggregated resource file. Through sequential storage, it is ensured that the process of searching for resources runs smoothly without errors when using resources.
[0139] The embodiment of the present application further provides an electronic device. As Figure 10 As shown, the electronic device 1000 can vary significantly due to different configurations or performances. It may include one or more processors 1001 and a memory 1002. One or more application programs or data can be stored in the memory 1002. Among them, the memory 1002 can be transient storage or persistent storage. The application programs stored in the memory 1002 can include one or more modules (not shown in the figure), and each module can include a series of computer-executable instructions for the electronic device 1000. Further, the processor 1001 can be configured to communicate with the memory 1002 and execute a series of computer-executable instructions in the memory 1002 on the electronic device 1000. The electronic device 1000 can also include one or more power supplies 1003, one or more wired or wireless network interfaces 1004, one or more input / output interfaces 1005, and one or more keyboards 1006.
[0140] Specifically, in this embodiment, the electronic device includes a memory and one or more programs. One or more of the programs are stored in the memory, and one or more of the programs can include one or more modules. Each module can include a series of computer-executable instructions for the electronic device and is configured to be executed by one or more processors. The one or more programs include the following computer-executable instructions for:
[0141] Generate a configuration file, where the configuration file includes the resource paths corresponding to the resource files to be compiled;
[0142] Obtain the resources for which the current class library project has no usage permissions;
[0143] Delete the resource paths corresponding to the resources without usage permissions in the configuration file, or add a set identifier to the resource paths corresponding to the resources without usage permissions;
[0144] Execute a configuration program to load the resources in the corresponding resource files according to the resource paths. For blank resource paths or resource paths with a set identifier added, do not load the corresponding resources, and generate a summary resource file based on the loaded resources. The multiple resources in the summary resource file are stored in a tiled manner;
[0145] Compile the summary resource file to obtain a control class library file.
[0146] When generating a DLL file according to a resource file to be compiled, the electronic device according to the embodiment of the present application first generates a configuration file. The configuration file includes the resource path corresponding to the resource file to be compiled, obtains the resources that the current class library project has no permission to use, and deletes the resource path corresponding to the resource that has no permission to use in the configuration file, or adds a set identifier to the resource path corresponding to the resource that has no permission to use. Then, execute the configuration program, load the resources in the corresponding resource file according to the resource path. For the blank resource path or the resource path with the set identifier added, do not load the corresponding resources, and generate a summary resource file according to the loaded resources, and compile the summary resource file to obtain a control class library file. By deleting the resource path corresponding to the resource that the current class library project has no permission to use in the configuration file, or adding a set identifier to the resource path corresponding to the resource that the current class library project has no permission to use, the embodiment of the present application enables the subsequent resource loading not to load the resources without permission, but only to load the resources with permission, realizes loading the resources with corresponding permissions according to the usage permissions of resources for different class library projects, and generates DLL files with multiple permission versions, which can meet the requirements of different class library projects and increase flexibility.
[0147] The embodiment of the present application also provides a semiconductor process equipment, including: a processor, a memory, and a program or instruction stored on the memory and executable on the processor. When the program or instruction is executed by the processor, it implements the steps of the method for generating the control class library file of the semiconductor process equipment as described in the above embodiment.
[0148] The embodiment of the present application also provides a readable storage medium, on which one or more computer programs are stored. The one or more computer programs include instructions. When the program or instruction is executed by a processor in an electronic device or a semiconductor process equipment including multiple application programs, it can enable the processor in the electronic device or the semiconductor process equipment to execute each process of the embodiment of the method for generating the control class library file of the semiconductor process equipment as described above, and is specifically used to execute:
[0149] Generate a configuration file, where the configuration file includes the resource path corresponding to the resource file to be compiled;
[0150] Obtain the resources that the current class library project has no permission to use;
[0151] Delete the resource path corresponding to the resource that has no permission to use in the configuration file, or add a set identifier to the resource path corresponding to the resource that has no permission to use;
[0152] Execute the configuration program to load the resources in the corresponding resource file according to the resource path. For blank resource paths or resource paths with a set identifier added, the corresponding resources are not loaded, and a summary resource file is generated based on the loaded resources. The multiple resources in the summary resource file are stored in a tiled manner.
[0153] Compile the summary resource file to obtain a control class library file.
[0154] In the readable storage medium of the embodiment of the present application, when generating a dll file according to the resource file to be compiled, a configuration file is first generated. The configuration file includes the resource path corresponding to the resource file to be compiled. Obtain the resources that the current class library project has no permission to use, and delete the resource path corresponding to the resource that has no permission to use in the configuration file, or add a set identifier to the resource path corresponding to the resource that has no permission to use. Then execute the configuration program to load the resources in the corresponding resource file according to the resource path. For blank resource paths or resource paths with a set identifier added, the corresponding resources are not loaded, and a summary resource file is generated based on the loaded resources. Compile the summary resource file to obtain a control class library file. By deleting the resource path corresponding to the resource that the current class library project has no permission to use in the configuration file, or adding a set identifier to the resource path corresponding to the resource that the current class library project has no permission to use, the embodiment of the present application enables non-loading of resources without permission during subsequent resource loading, and only loads resources with permission, realizing the loading of resources with corresponding permissions according to the usage permissions of resources for different class library projects, and generating dll files with multiple permission versions, which can meet the requirements of different class library projects and increase flexibility.
[0155] The system, device, module or unit illustrated in the above embodiments can be specifically implemented by a computer chip or entity, or by a product with a certain function. A typical implementation device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.
[0156] For the convenience of description, the above device is described by dividing it into various units according to functions. Of course, when implementing the present application, the functions of each unit can be implemented in one or more software and / or hardware.
[0157] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0158] The present application is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, as well as the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.
[0159] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the functions specified in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.
[0160] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.
[0161] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and memory.
[0162] The memory may include non-permanent memory in the computer-readable medium, in the form of random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). The memory is an example of a computer-readable medium.
[0163] A computer-readable medium includes both permanent and non-permanent, removable and non-removable media that can implement information storage by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information accessible by a computing device. As defined herein, a computer-readable medium does not include transitory computer-readable media, such as modulated data signals and carrier waves.
[0164] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that comprises the element.
[0165] This application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This application may also be practiced in a distributed computing environment where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media including storage devices.
[0166] Each embodiment in this specification is described in a progressive manner. The same or similar parts among the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for system embodiments, since they are basically similar to method embodiments, they are described relatively simply, and the relevant parts can be referred to the description of the method embodiments.
[0167] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.< / resourceelement> < / resourceelement> < / string> < / string> < / resourceelement> < / resourceelement>
Claims
1. A method for generating a control class library file of a semiconductor process equipment, characterized in that, including: generating a configuration file, which includes the resource paths corresponding to the resource files to be compiled; obtaining the resources for which the current class library project has no usage permissions; deleting, in the configuration file, the resource paths corresponding to the resources for which there are no usage permissions, or adding a set identifier to the resource paths corresponding to the resources for which there are no usage permissions; executing a configuration program to load the resources in the corresponding resource files according to the resource paths, and for blank resource paths or resource paths with the set identifier added, not loading the corresponding resources, and generating a summary resource file according to the loaded resources; compiling the summary resource file to obtain a control class library file.
2. The method according to claim 1, characterized in that, Before generating the configuration file, it further includes: creating the class library project; modifying the platform type corresponding to the solution node in the class library project; Correspondingly, the compiling the summary resource file to obtain a control class library file includes: compiling the summary resource file to obtain the control class library file of the platform type.
3. The method according to claim 1, characterized in that, Before executing the configuration program, it further includes: setting the parameters of the configuration program according to the address of the configuration file and the address of the summary resource file.
4. The method according to claim 1, wherein The loading the resources in the corresponding resource files according to the resource paths includes: loading the resources and their respective sub-resources in the corresponding resource files according to the resource paths.
5. The method according to claim 4, characterized in that The generating a summary resource file according to the loaded resources includes: successively storing the resources without sub-resources, their respective sub-resources and the corresponding parent resources into the summary resource file.
6. The method according to claim 1, characterized in that It further includes: setting the namespace of the summary resource file according to the namespace of the resource file.
7. The method according to any one of claims 1-6, characterized in that, The multiple resources in the summary resource file are stored in a flat manner.
8. A generating device for a control class library file of a semiconductor process equipment, characterized in that, including: a generating module for generating a configuration file, which includes the resource paths corresponding to the resource files to be compiled; an obtaining module for obtaining the resources for which the current class library project has no usage permissions; a processing module for deleting, in the configuration file, the resource paths corresponding to the resources for which there are no usage permissions, or adding a set identifier to the resource paths corresponding to the resources for which there are no usage permissions; an executing module for executing a configuration program to load the resources in the corresponding resource files according to the resource paths, and for blank resource paths or resource paths with the set identifier added, not loading the corresponding resources, and generating a summary resource file according to the loaded resources, and the multiple resources in the summary resource file are stored in a flat manner; a compiling module for compiling the summary resource file to obtain a control class library file.
9. An electronic device, characterized in that, including a processor, a memory, and a program or instruction stored on the memory and executable on the processor, and when the program or instruction is executed by the processor, the steps of the method according to any one of claims 1-7 are implemented.
10. A semiconductor process equipment, characterized in that, It includes a processor, a memory, and programs or instructions stored on the memory and executable on the processor. When the programs or instructions are executed by the processor, the steps of the method according to any one of claims 1-7 are implemented.