Code inspection: Namespace does not correspond to file location
By default, ReSharper assumes that the namespace each class appears in matches its location in the project. The 'root' namespace for the project is defined in the project properties:
![ReSharper code inspection: Namespace does not correspond to file location ReSharper code inspection: Namespace does not correspond to file location](https://resources.jetbrains.com/help/img/dotnet/2024.2/Inspections_CheckNamespace_1.png)
As a result of the above, all code elements at the project level are expected to appear in the ShareX
namespace, and a warning will be issued otherwise.
Namespaces are made deeper with the introduction of folders. In the example below, a folder called StartupManagers
will necessitate all items it contains to appear in the ShareX.StartupManagers
namespace. However, there are cases where you do not need the folder to append an extra namespace element. In such cases, you can set Namespace Provider to False in the Project Item Properties popup, which you can invoke by selecting Edit project item properties from the context menu of the folder in the Solution Explorer .
![ReSharper: 'Namespace provider' property of a project folder ReSharper: 'Namespace provider' property of a project folder](https://resources.jetbrains.com/help/img/dotnet/2024.2/Inspections_CheckNamespace_2.png)
A folder which is not a Namespace Provider will not influence the namespace of elements it contains, and ReSharper will analyze and refactor the related code accordingly.