diff --git a/FileRepository/FileRepository.csproj b/FileRepository/FileRepository.csproj
index 9f5c4f4..b6358f5 100644
--- a/FileRepository/FileRepository.csproj
+++ b/FileRepository/FileRepository.csproj
@@ -4,4 +4,19 @@
netstandard2.0
+
+
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
diff --git a/FileRepository/GlobalSuppressions.cs b/FileRepository/GlobalSuppressions.cs
new file mode 100644
index 0000000..de9f0d4
--- /dev/null
+++ b/FileRepository/GlobalSuppressions.cs
@@ -0,0 +1,10 @@
+// This file is used by Code Analysis to maintain SuppressMessage
+// attributes that are applied to this project.
+// Project-level suppressions either have no target or are given
+// a specific target and scoped to a namespace, type, member, etc.
+
+using System.Diagnostics.CodeAnalysis;
+
+[assembly: SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1633:File should have header", Justification = "Not something we need at this stage - jcreek")]
+[assembly: SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1208:System using directives should be placed before other using directives", Justification = "I'd prefer to have the using directives in alphabetical order - jcreek")]
+[assembly: SuppressMessage("StyleCop.CSharp.ReadabilityRules", "SA1124:Do not use regions", Justification = "They are really useful, especially when used appropriately - jcreek")]
diff --git a/FileRepository/stylecop.json b/FileRepository/stylecop.json
new file mode 100644
index 0000000..4f70b31
--- /dev/null
+++ b/FileRepository/stylecop.json
@@ -0,0 +1,52 @@
+{
+ // ACTION REQUIRED: This file was automatically added to your project, but it
+ // will not take effect until additional steps are taken to enable it. See the
+ // following page for additional information:
+ //
+ // https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/EnableConfiguration.md
+ "": null,
+ "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
+ "settings": {
+ "documentationRules": {
+ "companyName": "Creek",
+ "documentationCulture": "en-GB",
+ "documentInterfaces": true,
+ "documentExposedElements": true,
+ "documentInternalElements": true,
+ "documentPrivateElements": true,
+ "documentPrivateFields": false,
+ "headerDecoration": "-----------------------------------------------------------------------",
+ "xmlHeader": true
+ },
+ "layoutRules": {
+ "allowConsecutiveUsings": true,
+ "newlineAtEndOfFile": "require"
+ },
+ "maintainabilityRules": {
+ "topLevelTypes": [
+ "class",
+ "interface"
+ ]
+ },
+ "namingRules": {
+ "allowCommonHungarianPrefixes": true,
+ "includeInferredTupleElementNames": true,
+ "tupleElementNameCasing": "PascalCase"
+ },
+ "orderingRules": {
+ "elementOrder": [
+ "kind",
+ "constant",
+ "accessibility",
+ "static",
+ "readonly"
+ ],
+ "blankLinesBetweenUsingGroups": "omit",
+ "usingDirectivesPlacement": "outsideNamespace",
+ "systemUsingDirectivesFirst": true
+ },
+ "readabilityRules": {
+ "allowBuiltInTypeAliases": true
+ }
+ }
+}