coravel icon indicating copy to clipboard operation
coravel copied to clipboard

Adding "Directory.Build.props" and ".editorconfig"

Open iPazooki opened this issue 2 years ago • 2 comments

Some of the configuration settings for each project are shared, such as Authors and Company, which are repeated in every project. Moreover, we may want to enable the nullability feature in all projects, but with the current configuration, we would have to add the Nullable setting individually to each project, which is not efficient. A solution for this issue is to create a Directory.Build.props file at the root of the project and include all the common configuration settings in that file.

For example, the file could look like this: image

In this file, I have added the shared configuration settings and enabled the Nullble feature for all projects. I have also added SonarAnalyzer.CSharp code analysis to all projects to maintain high code quality.

Additionally, we can create a ".editorconfig" file with the default configuration suggested by Microsoft to ensure a consistent code style across the entire solution.

iPazooki avatar Aug 28 '23 07:08 iPazooki

So, TBH the duplicates in csproj files is not an issue at all. But I'm open to starting a simple Directory.Build.props.

Let's not add the sonar analyzer yet though. Would be more appropriate to add that in a separate PR as:

  1. This will most likely lead to other code changes I suspect...
  2. It's a different intent than just "adding a new Directory.Build.props with existing properties.

LMK once a PR is ready 👍 Thanks!

jamesmh avatar Sep 12 '23 02:09 jamesmh

@jamesmh , The pull request with number #346 is now ready. Our next step could be adding <Nullable>enable</Nullable> to identify any possible null exceptions and fix them. However, this won't be an easy task as we need to update some projects as explained in the pull request.

If you are happy with that, I can create another issue for null exception

iPazooki avatar Sep 12 '23 06:09 iPazooki