This tab is only available when you have the .NET generation enabled. Here is what you will see if you have .NET generation enabled.
In this part you will be able to enter the information regarding the assembly such as:
You can also specify a cryptographic key for your application so that the compiled assembly can be added to the Global Assembly Cache (GAC). Alternatively, if you wish to create a new cryptographic key for your assembly then the 'Generate' key will automatically generate one.
The standard naming conventions for .NET and Eiffel are different. To accommodate this difference Eiffel Studio provides a number of options to the developer, allowing for consistent naming of classes and features within and between .NET systems. To illustrate this we shall consider a system using the EiffelBase library and focus on the CURSOR class. The base cluster is included in the project settings Cluster tab as shown below, where $ISE_EIFFEL is the environment variable pointing to the location of Eiffel on your hard disk.
The CURSOR class is located at '$ISE_EIFFEL\library\base\structures\cursors'.
If 'Use full cluster names' is selected then the full cluster name is pre-pended to the class name, so it thus becomes 'base.structures.cursors.CURSOR'.
The final scenario is where a namespace has been defined for the cluster in the Clusters tab of the Project Settings. In this situation the namespace overrides the name of the cluster. In the example below the namespace name 'MyBaseNameSpace' is used so the resulting name is 'MyBaseNameSpace.structures.cursors.CURSOR'.
This table shows how the class name generation is affected by the naming options using the CURSOR class found in '$ISE_EIFFEL\library\base\structures\cursors' as an example.
Use .NET naming guidelines | Use cluster names | Use full cluster names | Namespace Name | Generated Name |
no | no | no | (empty) | CURSOR |
yes | no | no | (empty) | Cursor |
no | yes | no | (empty) | base.CURSOR |
yes | yes | no | (empty) | Base.Cursor |
no | no | yes | (empty) | structures.cursors.CURSOR |
yes | no | yes | (empty) | Structures.Cursors.Cursor |
no | yes | yes | (empty) | base.structures.cursors.CURSOR |
yes | yes | yes | (empty) | Base.Structures.Cursors.CURSOR |
no | no | no | MyNameSpace | MyNameSpace.Cursor |
yes | no | no | MyNameSpace | MyNameSpace.CURSOR |
no | yes | no | MyNameSpace | MyNameSpace.Cursor |
yes | yes | no | MyNameSpace | MyNameSpace.CURSOR |
no | no | yes | MyNameSpace | MyNameSpace.structures.cursors.Cursor |
yes | no | yes | MyNameSpace | MyNameSpace.structures.cursors.CURSOR |
no | yes | yes | MyNameSpace | MyNameSpace.structures.cursors.CURSOR |
yes | yes | yes | MyNameSpace | MyNameSpace.Structures.Cursors.Cursor |