Browse Source

Merge pull request #2150 from Bond-009/releaseerror

Enable TreatWarningsAsErrors for some projects
dkanada 5 years ago
parent
commit
fb61a1f882
51 changed files with 169 additions and 26 deletions
  1. 3 0
      Emby.Naming/Audio/AlbumParser.cs
  2. 3 0
      Emby.Naming/Audio/AudioFileParser.cs
  3. 3 0
      Emby.Naming/Audio/MultiPartResult.cs
  4. 3 0
      Emby.Naming/AudioBook/AudioBookFilePathParser.cs
  5. 3 0
      Emby.Naming/AudioBook/AudioBookFilePathParserResult.cs
  6. 3 0
      Emby.Naming/AudioBook/AudioBookInfo.cs
  7. 3 0
      Emby.Naming/AudioBook/AudioBookListResolver.cs
  8. 3 0
      Emby.Naming/AudioBook/AudioBookResolver.cs
  9. 3 0
      Emby.Naming/Common/EpisodeExpression.cs
  10. 3 0
      Emby.Naming/Common/MediaType.cs
  11. 3 0
      Emby.Naming/Common/NamingOptions.cs
  12. 5 1
      Emby.Naming/Emby.Naming.csproj
  13. 3 0
      Emby.Naming/Subtitles/SubtitleInfo.cs
  14. 3 0
      Emby.Naming/Subtitles/SubtitleParser.cs
  15. 3 0
      Emby.Naming/TV/EpisodeInfo.cs
  16. 3 0
      Emby.Naming/TV/EpisodePathParser.cs
  17. 3 0
      Emby.Naming/TV/EpisodePathParserResult.cs
  18. 3 0
      Emby.Naming/TV/EpisodeResolver.cs
  19. 3 0
      Emby.Naming/TV/SeasonPathParser.cs
  20. 3 0
      Emby.Naming/TV/SeasonPathParserResult.cs
  21. 3 0
      Emby.Naming/Video/CleanDateTimeParser.cs
  22. 5 0
      Emby.Naming/Video/CleanDateTimeResult.cs
  23. 3 0
      Emby.Naming/Video/CleanStringParser.cs
  24. 4 0
      Emby.Naming/Video/CleanStringResult.cs
  25. 3 0
      Emby.Naming/Video/ExtraResolver.cs
  26. 4 0
      Emby.Naming/Video/ExtraResult.cs
  27. 6 0
      Emby.Naming/Video/ExtraRule.cs
  28. 5 0
      Emby.Naming/Video/ExtraRuleType.cs
  29. 9 4
      Emby.Naming/Video/FileStack.cs
  30. 3 0
      Emby.Naming/Video/FlagParser.cs
  31. 3 0
      Emby.Naming/Video/Format3DParser.cs
  32. 3 0
      Emby.Naming/Video/Format3DResult.cs
  33. 4 0
      Emby.Naming/Video/Format3DRule.cs
  34. 3 0
      Emby.Naming/Video/StackResolver.cs
  35. 3 0
      Emby.Naming/Video/StackResult.cs
  36. 3 0
      Emby.Naming/Video/StubResolver.cs
  37. 3 0
      Emby.Naming/Video/StubResult.cs
  38. 3 0
      Emby.Naming/Video/StubTypeRule.cs
  39. 1 0
      Emby.Naming/Video/VideoFileInfo.cs
  40. 10 7
      Emby.Naming/Video/VideoInfo.cs
  41. 3 0
      Emby.Naming/Video/VideoListResolver.cs
  42. 3 0
      Emby.Naming/Video/VideoResolver.cs
  43. 5 1
      Emby.Photos/Emby.Photos.csproj
  44. 1 1
      Emby.Server.Implementations/Emby.Server.Implementations.csproj
  45. 2 2
      Emby.Server.Implementations/Library/UserManager.cs
  46. 2 1
      Emby.Server.Implementations/LiveTv/EmbyTV/DirectRecorder.cs
  47. 3 3
      Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs
  48. 2 1
      Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs
  49. 2 2
      Emby.Server.Implementations/Updates/InstallationManager.cs
  50. 1 1
      Jellyfin.Api/Jellyfin.Api.csproj
  51. 2 2
      Jellyfin.Server/Jellyfin.Server.csproj

+ 3 - 0
Emby.Naming/Audio/AlbumParser.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Globalization;
 using System.Globalization;
 using System.IO;
 using System.IO;

+ 3 - 0
Emby.Naming/Audio/AudioFileParser.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;

+ 3 - 0
Emby.Naming/Audio/MultiPartResult.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.Audio
 namespace Emby.Naming.Audio
 {
 {
     public class MultiPartResult
     public class MultiPartResult

+ 3 - 0
Emby.Naming/AudioBook/AudioBookFilePathParser.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Globalization;
 using System.Globalization;
 using System.IO;
 using System.IO;

+ 3 - 0
Emby.Naming/AudioBook/AudioBookFilePathParserResult.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.AudioBook
 namespace Emby.Naming.AudioBook
 {
 {
     public class AudioBookFilePathParserResult
     public class AudioBookFilePathParserResult

+ 3 - 0
Emby.Naming/AudioBook/AudioBookInfo.cs

@@ -7,6 +7,9 @@ namespace Emby.Naming.AudioBook
     /// </summary>
     /// </summary>
     public class AudioBookInfo
     public class AudioBookInfo
     {
     {
+        /// <summary>
+        /// Initializes a new instance of the <see cref="AudioBookInfo" /> class.
+        /// </summary>
         public AudioBookInfo()
         public AudioBookInfo()
         {
         {
             Files = new List<AudioBookFileInfo>();
             Files = new List<AudioBookFileInfo>();

+ 3 - 0
Emby.Naming/AudioBook/AudioBookListResolver.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
 using Emby.Naming.Common;
 using Emby.Naming.Common;

+ 3 - 0
Emby.Naming/AudioBook/AudioBookResolver.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;

+ 3 - 0
Emby.Naming/Common/EpisodeExpression.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
 
 

+ 3 - 0
Emby.Naming/Common/MediaType.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.Common
 namespace Emby.Naming.Common
 {
 {
     public enum MediaType
     public enum MediaType

+ 3 - 0
Emby.Naming/Common/NamingOptions.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Linq;
 using System.Linq;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;

+ 5 - 1
Emby.Naming/Emby.Naming.csproj

@@ -6,6 +6,10 @@
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
   </PropertyGroup>
   </PropertyGroup>
 
 
+  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+  </PropertyGroup>
+
   <ItemGroup>
   <ItemGroup>
     <Compile Include="..\SharedVersion.cs" />
     <Compile Include="..\SharedVersion.cs" />
   </ItemGroup>
   </ItemGroup>
@@ -21,7 +25,7 @@
     <RepositoryUrl>https://github.com/jellyfin/jellyfin</RepositoryUrl>
     <RepositoryUrl>https://github.com/jellyfin/jellyfin</RepositoryUrl>
   </PropertyGroup>
   </PropertyGroup>
 
 
-  <!-- Code analysers-->
+  <!-- Code Analyzers-->
   <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
   <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
     <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" PrivateAssets="All" />
     <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" PrivateAssets="All" />
     <PackageReference Include="SerilogAnalyzer" Version="0.15.0" PrivateAssets="All" />
     <PackageReference Include="SerilogAnalyzer" Version="0.15.0" PrivateAssets="All" />

+ 3 - 0
Emby.Naming/Subtitles/SubtitleInfo.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.Subtitles
 namespace Emby.Naming.Subtitles
 {
 {
     public class SubtitleInfo
     public class SubtitleInfo

+ 3 - 0
Emby.Naming/Subtitles/SubtitleParser.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;

+ 3 - 0
Emby.Naming/TV/EpisodeInfo.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.TV
 namespace Emby.Naming.TV
 {
 {
     public class EpisodeInfo
     public class EpisodeInfo

+ 3 - 0
Emby.Naming/TV/EpisodePathParser.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Globalization;
 using System.Globalization;

+ 3 - 0
Emby.Naming/TV/EpisodePathParserResult.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.TV
 namespace Emby.Naming.TV
 {
 {
     public class EpisodePathParserResult
     public class EpisodePathParserResult

+ 3 - 0
Emby.Naming/TV/EpisodeResolver.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;

+ 3 - 0
Emby.Naming/TV/SeasonPathParser.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Globalization;
 using System.Globalization;
 using System.IO;
 using System.IO;

+ 3 - 0
Emby.Naming/TV/SeasonPathParserResult.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.TV
 namespace Emby.Naming.TV
 {
 {
     public class SeasonPathParserResult
     public class SeasonPathParserResult

+ 3 - 0
Emby.Naming/Video/CleanDateTimeParser.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Globalization;
 using System.Globalization;
 using System.IO;
 using System.IO;

+ 5 - 0
Emby.Naming/Video/CleanDateTimeResult.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.Video
 namespace Emby.Naming.Video
 {
 {
     public class CleanDateTimeResult
     public class CleanDateTimeResult
@@ -7,11 +10,13 @@ namespace Emby.Naming.Video
         /// </summary>
         /// </summary>
         /// <value>The name.</value>
         /// <value>The name.</value>
         public string Name { get; set; }
         public string Name { get; set; }
+
         /// <summary>
         /// <summary>
         /// Gets or sets the year.
         /// Gets or sets the year.
         /// </summary>
         /// </summary>
         /// <value>The year.</value>
         /// <value>The year.</value>
         public int? Year { get; set; }
         public int? Year { get; set; }
+
         /// <summary>
         /// <summary>
         /// Gets or sets a value indicating whether this instance has changed.
         /// Gets or sets a value indicating whether this instance has changed.
         /// </summary>
         /// </summary>

+ 3 - 0
Emby.Naming/Video/CleanStringParser.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
 
 

+ 4 - 0
Emby.Naming/Video/CleanStringResult.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.Video
 namespace Emby.Naming.Video
 {
 {
     public class CleanStringResult
     public class CleanStringResult
@@ -7,6 +10,7 @@ namespace Emby.Naming.Video
         /// </summary>
         /// </summary>
         /// <value>The name.</value>
         /// <value>The name.</value>
         public string Name { get; set; }
         public string Name { get; set; }
+
         /// <summary>
         /// <summary>
         /// Gets or sets a value indicating whether this instance has changed.
         /// Gets or sets a value indicating whether this instance has changed.
         /// </summary>
         /// </summary>

+ 3 - 0
Emby.Naming/Video/ExtraResolver.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;

+ 4 - 0
Emby.Naming/Video/ExtraResult.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.Video
 namespace Emby.Naming.Video
 {
 {
     public class ExtraResult
     public class ExtraResult
@@ -7,6 +10,7 @@ namespace Emby.Naming.Video
         /// </summary>
         /// </summary>
         /// <value>The type of the extra.</value>
         /// <value>The type of the extra.</value>
         public string ExtraType { get; set; }
         public string ExtraType { get; set; }
+
         /// <summary>
         /// <summary>
         /// Gets or sets the rule.
         /// Gets or sets the rule.
         /// </summary>
         /// </summary>

+ 6 - 0
Emby.Naming/Video/ExtraRule.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using Emby.Naming.Common;
 using Emby.Naming.Common;
 
 
 namespace Emby.Naming.Video
 namespace Emby.Naming.Video
@@ -9,16 +12,19 @@ namespace Emby.Naming.Video
         /// </summary>
         /// </summary>
         /// <value>The token.</value>
         /// <value>The token.</value>
         public string Token { get; set; }
         public string Token { get; set; }
+
         /// <summary>
         /// <summary>
         /// Gets or sets the type of the extra.
         /// Gets or sets the type of the extra.
         /// </summary>
         /// </summary>
         /// <value>The type of the extra.</value>
         /// <value>The type of the extra.</value>
         public string ExtraType { get; set; }
         public string ExtraType { get; set; }
+
         /// <summary>
         /// <summary>
         /// Gets or sets the type of the rule.
         /// Gets or sets the type of the rule.
         /// </summary>
         /// </summary>
         /// <value>The type of the rule.</value>
         /// <value>The type of the rule.</value>
         public ExtraRuleType RuleType { get; set; }
         public ExtraRuleType RuleType { get; set; }
+
         /// <summary>
         /// <summary>
         /// Gets or sets the type of the media.
         /// Gets or sets the type of the media.
         /// </summary>
         /// </summary>

+ 5 - 0
Emby.Naming/Video/ExtraRuleType.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.Video
 namespace Emby.Naming.Video
 {
 {
     public enum ExtraRuleType
     public enum ExtraRuleType
@@ -6,10 +9,12 @@ namespace Emby.Naming.Video
         /// The suffix
         /// The suffix
         /// </summary>
         /// </summary>
         Suffix = 0,
         Suffix = 0,
+
         /// <summary>
         /// <summary>
         /// The filename
         /// The filename
         /// </summary>
         /// </summary>
         Filename = 1,
         Filename = 1,
+
         /// <summary>
         /// <summary>
         /// The regex
         /// The regex
         /// </summary>
         /// </summary>

+ 9 - 4
Emby.Naming/Video/FileStack.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
@@ -6,15 +9,17 @@ namespace Emby.Naming.Video
 {
 {
     public class FileStack
     public class FileStack
     {
     {
-        public string Name { get; set; }
-        public List<string> Files { get; set; }
-        public bool IsDirectoryStack { get; set; }
-
         public FileStack()
         public FileStack()
         {
         {
             Files = new List<string>();
             Files = new List<string>();
         }
         }
 
 
+        public string Name { get; set; }
+
+        public List<string> Files { get; set; }
+
+        public bool IsDirectoryStack { get; set; }
+
         public bool ContainsFile(string file, bool isDirectory)
         public bool ContainsFile(string file, bool isDirectory)
         {
         {
             if (IsDirectoryStack == isDirectory)
             if (IsDirectoryStack == isDirectory)

+ 3 - 0
Emby.Naming/Video/FlagParser.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.IO;
 using System.IO;
 using Emby.Naming.Common;
 using Emby.Naming.Common;

+ 3 - 0
Emby.Naming/Video/Format3DParser.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Linq;
 using System.Linq;
 using Emby.Naming.Common;
 using Emby.Naming.Common;

+ 3 - 0
Emby.Naming/Video/Format3DResult.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System.Collections.Generic;
 using System.Collections.Generic;
 
 
 namespace Emby.Naming.Video
 namespace Emby.Naming.Video

+ 4 - 0
Emby.Naming/Video/Format3DRule.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.Video
 namespace Emby.Naming.Video
 {
 {
     public class Format3DRule
     public class Format3DRule
@@ -7,6 +10,7 @@ namespace Emby.Naming.Video
         /// </summary>
         /// </summary>
         /// <value>The token.</value>
         /// <value>The token.</value>
         public string Token { get; set; }
         public string Token { get; set; }
+
         /// <summary>
         /// <summary>
         /// Gets or sets the preceeding token.
         /// Gets or sets the preceeding token.
         /// </summary>
         /// </summary>

+ 3 - 0
Emby.Naming/Video/StackResolver.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.IO;
 using System.IO;

+ 3 - 0
Emby.Naming/Video/StackResult.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System.Collections.Generic;
 using System.Collections.Generic;
 
 
 namespace Emby.Naming.Video
 namespace Emby.Naming.Video

+ 3 - 0
Emby.Naming/Video/StubResolver.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;

+ 3 - 0
Emby.Naming/Video/StubResult.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.Video
 namespace Emby.Naming.Video
 {
 {
     public struct StubResult
     public struct StubResult

+ 3 - 0
Emby.Naming/Video/StubTypeRule.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 namespace Emby.Naming.Video
 namespace Emby.Naming.Video
 {
 {
     public class StubTypeRule
     public class StubTypeRule

+ 1 - 0
Emby.Naming/Video/VideoFileInfo.cs

@@ -77,6 +77,7 @@ namespace Emby.Naming.Video
         /// <value>The file name without extension.</value>
         /// <value>The file name without extension.</value>
         public string FileNameWithoutExtension => !IsDirectory ? System.IO.Path.GetFileNameWithoutExtension(Path) : System.IO.Path.GetFileName(Path);
         public string FileNameWithoutExtension => !IsDirectory ? System.IO.Path.GetFileNameWithoutExtension(Path) : System.IO.Path.GetFileName(Path);
 
 
+        /// <inheritdoc />
         public override string ToString()
         public override string ToString()
         {
         {
             // Makes debugging easier
             // Makes debugging easier

+ 10 - 7
Emby.Naming/Video/VideoInfo.cs

@@ -7,6 +7,16 @@ namespace Emby.Naming.Video
     /// </summary>
     /// </summary>
     public class VideoInfo
     public class VideoInfo
     {
     {
+        /// <summary>
+        /// Initializes a new instance of the <see cref="VideoInfo" /> class.
+        /// </summary>
+        public VideoInfo()
+        {
+            Files = new List<VideoFileInfo>();
+            Extras = new List<VideoFileInfo>();
+            AlternateVersions = new List<VideoFileInfo>();
+        }
+
         /// <summary>
         /// <summary>
         /// Gets or sets the name.
         /// Gets or sets the name.
         /// </summary>
         /// </summary>
@@ -36,12 +46,5 @@ namespace Emby.Naming.Video
         /// </summary>
         /// </summary>
         /// <value>The alternate versions.</value>
         /// <value>The alternate versions.</value>
         public List<VideoFileInfo> AlternateVersions { get; set; }
         public List<VideoFileInfo> AlternateVersions { get; set; }
-
-        public VideoInfo()
-        {
-            Files = new List<VideoFileInfo>();
-            Extras = new List<VideoFileInfo>();
-            AlternateVersions = new List<VideoFileInfo>();
-        }
     }
     }
 }
 }

+ 3 - 0
Emby.Naming/Video/VideoListResolver.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.IO;
 using System.IO;

+ 3 - 0
Emby.Naming/Video/VideoResolver.cs

@@ -1,3 +1,6 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
 using System;
 using System;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;

+ 5 - 1
Emby.Photos/Emby.Photos.csproj

@@ -1,5 +1,9 @@
 <Project Sdk="Microsoft.NET.Sdk">
 <Project Sdk="Microsoft.NET.Sdk">
 
 
+  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+  </PropertyGroup>
+
   <ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
     <ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
     <ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj" />
     <ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj" />
@@ -20,7 +24,7 @@
     <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
     <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
   </PropertyGroup>
 
 
-  <!-- Code analysers-->
+  <!-- Code Analyzers-->
   <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
   <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
     <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" />
     <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" />
     <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" />
     <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" />

+ 1 - 1
Emby.Server.Implementations/Emby.Server.Implementations.csproj

@@ -49,7 +49,7 @@
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
   </PropertyGroup>
   </PropertyGroup>
 
 
-  <!-- Code analysers-->
+  <!-- Code Analyzers-->
   <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
   <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
     <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" />
     <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" />
     <PackageReference Include="SerilogAnalyzer" Version="0.15.0" />
     <PackageReference Include="SerilogAnalyzer" Version="0.15.0" />

+ 2 - 2
Emby.Server.Implementations/Library/UserManager.cs

@@ -392,7 +392,7 @@ namespace Emby.Server.Implementations.Library
             if (providers.Length == 0)
             if (providers.Length == 0)
             {
             {
                 // Assign the user to the InvalidAuthProvider since no configured auth provider was valid/found
                 // Assign the user to the InvalidAuthProvider since no configured auth provider was valid/found
-                _logger.LogWarning("User {UserName} was found with invalid/missing Authentication Provider {AuthenticationProviderId}. Assigning user to InvalidAuthProvider until this is corrected", user.Name, user.Policy.AuthenticationProviderId);
+                _logger.LogWarning("User {UserName} was found with invalid/missing Authentication Provider {AuthenticationProviderId}. Assigning user to InvalidAuthProvider until this is corrected", user?.Name, user?.Policy.AuthenticationProviderId);
                 providers = new IAuthenticationProvider[] { _invalidAuthProvider };
                 providers = new IAuthenticationProvider[] { _invalidAuthProvider };
             }
             }
 
 
@@ -472,7 +472,7 @@ namespace Emby.Server.Implementations.Library
 
 
             if (!success
             if (!success
                 && _networkManager.IsInLocalNetwork(remoteEndPoint)
                 && _networkManager.IsInLocalNetwork(remoteEndPoint)
-                && user.Configuration.EnableLocalPassword
+                && user?.Configuration.EnableLocalPassword == true
                 && !string.IsNullOrEmpty(user.EasyPassword))
                 && !string.IsNullOrEmpty(user.EasyPassword))
             {
             {
                 // Check easy password
                 // Check easy password

+ 2 - 1
Emby.Server.Implementations/LiveTv/EmbyTV/DirectRecorder.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.IO;
 using System.IO;
+using System.Net.Http;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using MediaBrowser.Common.Net;
 using MediaBrowser.Common.Net;
@@ -74,7 +75,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
                 DecompressionMethod = CompressionMethod.None
                 DecompressionMethod = CompressionMethod.None
             };
             };
 
 
-            using (var response = await _httpClient.SendAsync(httpRequestOptions, "GET").ConfigureAwait(false))
+            using (var response = await _httpClient.SendAsync(httpRequestOptions, HttpMethod.Get).ConfigureAwait(false))
             {
             {
                 _logger.LogInformation("Opened recording stream from tuner provider");
                 _logger.LogInformation("Opened recording stream from tuner provider");
 
 

+ 3 - 3
Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs

@@ -5,6 +5,7 @@ using System.Globalization;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;
 using System.Net;
 using System.Net;
+using System.Net.Http;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using MediaBrowser.Common;
 using MediaBrowser.Common;
@@ -12,7 +13,6 @@ using MediaBrowser.Common.Net;
 using MediaBrowser.Controller.LiveTv;
 using MediaBrowser.Controller.LiveTv;
 using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Extensions;
 using MediaBrowser.Model.LiveTv;
 using MediaBrowser.Model.LiveTv;
 using MediaBrowser.Model.Net;
 using MediaBrowser.Model.Net;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Serialization;
@@ -663,7 +663,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings
 
 
             try
             try
             {
             {
-                return await _httpClient.SendAsync(options, "GET").ConfigureAwait(false);
+                return await _httpClient.SendAsync(options, HttpMethod.Get).ConfigureAwait(false);
             }
             }
             catch (HttpException ex)
             catch (HttpException ex)
             {
             {
@@ -738,7 +738,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings
 
 
             httpOptions.RequestHeaders["token"] = token;
             httpOptions.RequestHeaders["token"] = token;
 
 
-            using (await _httpClient.SendAsync(httpOptions, "PUT").ConfigureAwait(false))
+            using (await _httpClient.SendAsync(httpOptions, HttpMethod.Put).ConfigureAwait(false))
             {
             {
             }
             }
         }
         }

+ 2 - 1
Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.IO;
 using System.IO;
+using System.Net.Http;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using MediaBrowser.Common.Configuration;
 using MediaBrowser.Common.Configuration;
@@ -64,7 +65,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
                 httpRequestOptions.RequestHeaders[header.Key] = header.Value;
                 httpRequestOptions.RequestHeaders[header.Key] = header.Value;
             }
             }
 
 
-            var response = await _httpClient.SendAsync(httpRequestOptions, "GET").ConfigureAwait(false);
+            var response = await _httpClient.SendAsync(httpRequestOptions, HttpMethod.Get).ConfigureAwait(false);
 
 
             var extension = "ts";
             var extension = "ts";
             var requiresRemux = false;
             var requiresRemux = false;

+ 2 - 2
Emby.Server.Implementations/Updates/InstallationManager.cs

@@ -1,10 +1,10 @@
 using System;
 using System;
 using System.Collections.Concurrent;
 using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Globalization;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;
 using System.Net.Http;
 using System.Net.Http;
+using System.Runtime.CompilerServices;
 using System.Security.Cryptography;
 using System.Security.Cryptography;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
@@ -189,7 +189,7 @@ namespace Emby.Server.Implementations.Updates
         }
         }
 
 
         /// <inheritdoc />
         /// <inheritdoc />
-        public async IAsyncEnumerable<PackageVersionInfo> GetAvailablePluginUpdates(CancellationToken cancellationToken = default)
+        public async IAsyncEnumerable<PackageVersionInfo> GetAvailablePluginUpdates([EnumeratorCancellation] CancellationToken cancellationToken = default)
         {
         {
             var catalog = await GetAvailablePackages(cancellationToken).ConfigureAwait(false);
             var catalog = await GetAvailablePackages(cancellationToken).ConfigureAwait(false);
 
 

+ 1 - 1
Jellyfin.Api/Jellyfin.Api.csproj

@@ -17,7 +17,7 @@
     <ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
     <ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
   </ItemGroup>
   </ItemGroup>
 
 
-  <!-- Code analysers-->
+  <!-- Code Analyzers-->
   <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
   <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
     <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" PrivateAssets="All" />
     <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" PrivateAssets="All" />
     <PackageReference Include="SerilogAnalyzer" Version="0.15.0" PrivateAssets="All" />
     <PackageReference Include="SerilogAnalyzer" Version="0.15.0" PrivateAssets="All" />

+ 2 - 2
Jellyfin.Server/Jellyfin.Server.csproj

@@ -24,8 +24,8 @@
   <ItemGroup>
   <ItemGroup>
     <FrameworkReference Include="Microsoft.AspNetCore.App" />
     <FrameworkReference Include="Microsoft.AspNetCore.App" />
   </ItemGroup>
   </ItemGroup>
-  
-  <!-- Code analyzers-->
+
+  <!-- Code Analyzers-->
   <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
   <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
     <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" />
     <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" />
     <PackageReference Include="SerilogAnalyzer" Version="0.15.0" />
     <PackageReference Include="SerilogAnalyzer" Version="0.15.0" />