# .gitignore for .NET Projects # This file is a general-purpose template for C#, F#, and VB.NET projects. # It covers files generated by Visual Studio, Rider, and the dotnet CLI. # User-specific files generated by IDEs # These contain user-specific settings like window layouts, breakpoints, etc. # and should not be shared in source control. # # Visual Studio .vs/ *.suo *.user *.userosscache *.sln.docstates # JetBrains Rider .idea/ # Build results # These are the compiled outputs of your project. They are generated on build # and should not be committed. [Bb]in/ [Oo]bj/ # Publish results # The output of the `dotnet publish` command. [Pp]ublish/ [Rr]elease/ # Secrets and Local Configuration # IMPORTANT: Never commit secrets, API keys, or connection strings. # Use User Secrets, environment variables, or a secrets manager like Azure Key Vault. appsettings.Development.json secrets.json *.env # NuGet Packages # The `packages` folder was used by the older packages.config system. # The `project.lock.json` file is generated on restore and can often be ignored. packages/ project.lock.json # Test Results and Code Coverage # These files are generated when running tests and should not be committed. TestResults/ *.trx *.coverlet.json *.cobertura.xml lcov.info # Tooling and Diagnostics # Log files, crash dumps, and profiler session files. *.log *.dmp *.vsp *.vspx *.psess # OS-generated files # # Windows Thumbs.db ehthumbs.db # macOS .DS_Store .AppleDouble .LSOverride # Special Files # # Visual Studio Code .vscode/ # ReSharper # ReSharper cache files. _ReSharper*/ *.[Rr]e[Ss]harper # StyleCop # StyleCop cache files. StyleCop.Cache stylecop.json # LinqPad # LinqPad query files can be temporary. *.linq # Overrides # Use the '!' operator to un-ignore a file or folder. # For example, if you need to keep a placeholder file in an otherwise empty directory: # !/some/folder/.gitkeep