diff --git a/MediaInfoWrapper/MediaInfo/MediaInfoDLL.cs b/MediaInfoWrapper/MediaInfo/MediaInfoDLL.cs
index 6bdf5cf6c..b0c064115 100644
--- a/MediaInfoWrapper/MediaInfo/MediaInfoDLL.cs
+++ b/MediaInfoWrapper/MediaInfo/MediaInfoDLL.cs
@@ -203,7 +203,7 @@ public MediaInfoDLL()
{
Handle = MediaInfo_New();
}
- catch (Exception ex)
+ catch
{
Handle = (IntPtr) 0;
}
diff --git a/Shoko.CLI/packages.config b/Shoko.CLI/packages.config
index 941ff0f5e..67ba17599 100644
--- a/Shoko.CLI/packages.config
+++ b/Shoko.CLI/packages.config
@@ -1,4 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/Shoko.Server.sln b/Shoko.Server.sln
index 626e95407..c31192ff4 100644
--- a/Shoko.Server.sln
+++ b/Shoko.Server.sln
@@ -68,6 +68,10 @@ Global
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
+ Debug CLI|Any CPU = Debug CLI|Any CPU
+ Debug CLI|Mixed Platforms = Debug CLI|Mixed Platforms
+ Debug CLI|Win32 = Debug CLI|Win32
+ Debug CLI|x64 = Debug CLI|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DA8F0783-0F82-4106-9860-6F09BA2EA522}.CLI|Any CPU.ActiveCfg = Release|Any CPU
@@ -88,6 +92,16 @@ Global
{DA8F0783-0F82-4106-9860-6F09BA2EA522}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{DA8F0783-0F82-4106-9860-6F09BA2EA522}.Release|Win32.ActiveCfg = Release|Any CPU
{DA8F0783-0F82-4106-9860-6F09BA2EA522}.Release|x64.ActiveCfg = Release|Any CPU
+ {DA8F0783-0F82-4106-9860-6F09BA2EA522}.CLI|Win32.Build.0 = Release|Any CPU
+ {DA8F0783-0F82-4106-9860-6F09BA2EA522}.CLI|x64.Build.0 = Release|Any CPU
+ {DA8F0783-0F82-4106-9860-6F09BA2EA522}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {DA8F0783-0F82-4106-9860-6F09BA2EA522}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {DA8F0783-0F82-4106-9860-6F09BA2EA522}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {DA8F0783-0F82-4106-9860-6F09BA2EA522}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {DA8F0783-0F82-4106-9860-6F09BA2EA522}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {DA8F0783-0F82-4106-9860-6F09BA2EA522}.Debug CLI|Win32.Build.0 = Debug|Any CPU
+ {DA8F0783-0F82-4106-9860-6F09BA2EA522}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
+ {DA8F0783-0F82-4106-9860-6F09BA2EA522}.Debug CLI|x64.Build.0 = Debug|Any CPU
{29861D1A-968C-49CA-A637-88B391AA5063}.CLI|Any CPU.ActiveCfg = Release|Any CPU
{29861D1A-968C-49CA-A637-88B391AA5063}.CLI|Any CPU.Build.0 = Release|Any CPU
{29861D1A-968C-49CA-A637-88B391AA5063}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -112,6 +126,14 @@ Global
{29861D1A-968C-49CA-A637-88B391AA5063}.Release|Win32.Build.0 = Release|Any CPU
{29861D1A-968C-49CA-A637-88B391AA5063}.Release|x64.ActiveCfg = Release|Any CPU
{29861D1A-968C-49CA-A637-88B391AA5063}.Release|x64.Build.0 = Release|Any CPU
+ {29861D1A-968C-49CA-A637-88B391AA5063}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {29861D1A-968C-49CA-A637-88B391AA5063}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {29861D1A-968C-49CA-A637-88B391AA5063}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {29861D1A-968C-49CA-A637-88B391AA5063}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {29861D1A-968C-49CA-A637-88B391AA5063}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {29861D1A-968C-49CA-A637-88B391AA5063}.Debug CLI|Win32.Build.0 = Debug|Any CPU
+ {29861D1A-968C-49CA-A637-88B391AA5063}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
+ {29861D1A-968C-49CA-A637-88B391AA5063}.Debug CLI|x64.Build.0 = Debug|Any CPU
{D202B61E-A658-4208-83FC-745E04F43BDE}.CLI|Any CPU.ActiveCfg = Release|Any CPU
{D202B61E-A658-4208-83FC-745E04F43BDE}.CLI|Any CPU.Build.0 = Release|Any CPU
{D202B61E-A658-4208-83FC-745E04F43BDE}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -136,6 +158,14 @@ Global
{D202B61E-A658-4208-83FC-745E04F43BDE}.Release|Win32.Build.0 = Release|x86
{D202B61E-A658-4208-83FC-745E04F43BDE}.Release|x64.ActiveCfg = Release|x64
{D202B61E-A658-4208-83FC-745E04F43BDE}.Release|x64.Build.0 = Release|x64
+ {D202B61E-A658-4208-83FC-745E04F43BDE}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {D202B61E-A658-4208-83FC-745E04F43BDE}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {D202B61E-A658-4208-83FC-745E04F43BDE}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {D202B61E-A658-4208-83FC-745E04F43BDE}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {D202B61E-A658-4208-83FC-745E04F43BDE}.Debug CLI|Win32.ActiveCfg = Debug|x86
+ {D202B61E-A658-4208-83FC-745E04F43BDE}.Debug CLI|Win32.Build.0 = Debug|x86
+ {D202B61E-A658-4208-83FC-745E04F43BDE}.Debug CLI|x64.ActiveCfg = Debug|x64
+ {D202B61E-A658-4208-83FC-745E04F43BDE}.Debug CLI|x64.Build.0 = Debug|x64
{964A62E6-2DAE-4723-926D-D3E9597B5213}.CLI|Any CPU.ActiveCfg = Release|Any CPU
{964A62E6-2DAE-4723-926D-D3E9597B5213}.CLI|Any CPU.Build.0 = Release|Any CPU
{964A62E6-2DAE-4723-926D-D3E9597B5213}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -160,6 +190,14 @@ Global
{964A62E6-2DAE-4723-926D-D3E9597B5213}.Release|Win32.Build.0 = Release|Any CPU
{964A62E6-2DAE-4723-926D-D3E9597B5213}.Release|x64.ActiveCfg = Release|Any CPU
{964A62E6-2DAE-4723-926D-D3E9597B5213}.Release|x64.Build.0 = Release|Any CPU
+ {964A62E6-2DAE-4723-926D-D3E9597B5213}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {964A62E6-2DAE-4723-926D-D3E9597B5213}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {964A62E6-2DAE-4723-926D-D3E9597B5213}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {964A62E6-2DAE-4723-926D-D3E9597B5213}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {964A62E6-2DAE-4723-926D-D3E9597B5213}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {964A62E6-2DAE-4723-926D-D3E9597B5213}.Debug CLI|Win32.Build.0 = Debug|Any CPU
+ {964A62E6-2DAE-4723-926D-D3E9597B5213}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
+ {964A62E6-2DAE-4723-926D-D3E9597B5213}.Debug CLI|x64.Build.0 = Debug|Any CPU
{2A705C96-21D4-4061-876F-1BB954E39D25}.CLI|Any CPU.ActiveCfg = Release|Any CPU
{2A705C96-21D4-4061-876F-1BB954E39D25}.CLI|Any CPU.Build.0 = Release|Any CPU
{2A705C96-21D4-4061-876F-1BB954E39D25}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -184,6 +222,14 @@ Global
{2A705C96-21D4-4061-876F-1BB954E39D25}.Release|Win32.Build.0 = Release|Any CPU
{2A705C96-21D4-4061-876F-1BB954E39D25}.Release|x64.ActiveCfg = Release|Any CPU
{2A705C96-21D4-4061-876F-1BB954E39D25}.Release|x64.Build.0 = Release|Any CPU
+ {2A705C96-21D4-4061-876F-1BB954E39D25}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {2A705C96-21D4-4061-876F-1BB954E39D25}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {2A705C96-21D4-4061-876F-1BB954E39D25}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {2A705C96-21D4-4061-876F-1BB954E39D25}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {2A705C96-21D4-4061-876F-1BB954E39D25}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {2A705C96-21D4-4061-876F-1BB954E39D25}.Debug CLI|Win32.Build.0 = Debug|Any CPU
+ {2A705C96-21D4-4061-876F-1BB954E39D25}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
+ {2A705C96-21D4-4061-876F-1BB954E39D25}.Debug CLI|x64.Build.0 = Debug|Any CPU
{865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.CLI|Any CPU.ActiveCfg = Release|Any CPU
{865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.CLI|Any CPU.Build.0 = Release|Any CPU
{865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -208,6 +254,14 @@ Global
{865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Release|Win32.Build.0 = Release|Any CPU
{865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Release|x64.ActiveCfg = Release|Any CPU
{865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Release|x64.Build.0 = Release|Any CPU
+ {865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Debug CLI|Win32.Build.0 = Debug|Any CPU
+ {865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
+ {865C8B13-EB43-439E-9D69-CE7B54DCA4FF}.Debug CLI|x64.Build.0 = Debug|Any CPU
{D24D15AA-3E71-45A5-B2AF-7490681DEF68}.CLI|Any CPU.ActiveCfg = Release|Any CPU
{D24D15AA-3E71-45A5-B2AF-7490681DEF68}.CLI|Any CPU.Build.0 = Release|Any CPU
{D24D15AA-3E71-45A5-B2AF-7490681DEF68}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -232,6 +286,14 @@ Global
{D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Release|Win32.Build.0 = Release|Any CPU
{D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Release|x64.ActiveCfg = Release|Any CPU
{D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Release|x64.Build.0 = Release|Any CPU
+ {D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Debug CLI|Win32.Build.0 = Debug|Any CPU
+ {D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
+ {D24D15AA-3E71-45A5-B2AF-7490681DEF68}.Debug CLI|x64.Build.0 = Debug|Any CPU
{E0399140-9902-4F38-909D-85E42717EC30}.CLI|Any CPU.ActiveCfg = Release|Any CPU
{E0399140-9902-4F38-909D-85E42717EC30}.CLI|Any CPU.Build.0 = Release|Any CPU
{E0399140-9902-4F38-909D-85E42717EC30}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -256,6 +318,14 @@ Global
{E0399140-9902-4F38-909D-85E42717EC30}.Release|Win32.Build.0 = Release|Any CPU
{E0399140-9902-4F38-909D-85E42717EC30}.Release|x64.ActiveCfg = Release|Any CPU
{E0399140-9902-4F38-909D-85E42717EC30}.Release|x64.Build.0 = Release|Any CPU
+ {E0399140-9902-4F38-909D-85E42717EC30}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {E0399140-9902-4F38-909D-85E42717EC30}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {E0399140-9902-4F38-909D-85E42717EC30}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {E0399140-9902-4F38-909D-85E42717EC30}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {E0399140-9902-4F38-909D-85E42717EC30}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {E0399140-9902-4F38-909D-85E42717EC30}.Debug CLI|Win32.Build.0 = Debug|Any CPU
+ {E0399140-9902-4F38-909D-85E42717EC30}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
+ {E0399140-9902-4F38-909D-85E42717EC30}.Debug CLI|x64.Build.0 = Debug|Any CPU
{F73F9DF6-580A-4341-B516-8717626F9D42}.CLI|Any CPU.ActiveCfg = Release|Any CPU
{F73F9DF6-580A-4341-B516-8717626F9D42}.CLI|Any CPU.Build.0 = Release|Any CPU
{F73F9DF6-580A-4341-B516-8717626F9D42}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -280,13 +350,18 @@ Global
{F73F9DF6-580A-4341-B516-8717626F9D42}.Release|Win32.Build.0 = Release|Any CPU
{F73F9DF6-580A-4341-B516-8717626F9D42}.Release|x64.ActiveCfg = Release|Any CPU
{F73F9DF6-580A-4341-B516-8717626F9D42}.Release|x64.Build.0 = Release|Any CPU
+ {F73F9DF6-580A-4341-B516-8717626F9D42}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {F73F9DF6-580A-4341-B516-8717626F9D42}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {F73F9DF6-580A-4341-B516-8717626F9D42}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {F73F9DF6-580A-4341-B516-8717626F9D42}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {F73F9DF6-580A-4341-B516-8717626F9D42}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {F73F9DF6-580A-4341-B516-8717626F9D42}.Debug CLI|Win32.Build.0 = Debug|Any CPU
+ {F73F9DF6-580A-4341-B516-8717626F9D42}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
+ {F73F9DF6-580A-4341-B516-8717626F9D42}.Debug CLI|x64.Build.0 = Debug|Any CPU
{FFBA1303-E60F-4353-9ECA-434B263AF699}.CLI|Any CPU.ActiveCfg = Release|Any CPU
- {FFBA1303-E60F-4353-9ECA-434B263AF699}.CLI|Any CPU.Build.0 = Release|Any CPU
{FFBA1303-E60F-4353-9ECA-434B263AF699}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
{FFBA1303-E60F-4353-9ECA-434B263AF699}.CLI|Win32.ActiveCfg = Release|Any CPU
- {FFBA1303-E60F-4353-9ECA-434B263AF699}.CLI|Win32.Build.0 = Release|Any CPU
{FFBA1303-E60F-4353-9ECA-434B263AF699}.CLI|x64.ActiveCfg = Release|Any CPU
- {FFBA1303-E60F-4353-9ECA-434B263AF699}.CLI|x64.Build.0 = Release|Any CPU
{FFBA1303-E60F-4353-9ECA-434B263AF699}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FFBA1303-E60F-4353-9ECA-434B263AF699}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FFBA1303-E60F-4353-9ECA-434B263AF699}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
@@ -303,6 +378,10 @@ Global
{FFBA1303-E60F-4353-9ECA-434B263AF699}.Release|Win32.Build.0 = Release|Any CPU
{FFBA1303-E60F-4353-9ECA-434B263AF699}.Release|x64.ActiveCfg = Release|Any CPU
{FFBA1303-E60F-4353-9ECA-434B263AF699}.Release|x64.Build.0 = Release|Any CPU
+ {FFBA1303-E60F-4353-9ECA-434B263AF699}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {FFBA1303-E60F-4353-9ECA-434B263AF699}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {FFBA1303-E60F-4353-9ECA-434B263AF699}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {FFBA1303-E60F-4353-9ECA-434B263AF699}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
{3A8E0177-9701-4A59-A6CD-16C6908839EA}.CLI|Any CPU.ActiveCfg = Release|Any CPU
{3A8E0177-9701-4A59-A6CD-16C6908839EA}.CLI|Any CPU.Build.0 = Release|Any CPU
{3A8E0177-9701-4A59-A6CD-16C6908839EA}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
@@ -327,6 +406,14 @@ Global
{3A8E0177-9701-4A59-A6CD-16C6908839EA}.Release|Win32.Build.0 = Release|Any CPU
{3A8E0177-9701-4A59-A6CD-16C6908839EA}.Release|x64.ActiveCfg = Release|Any CPU
{3A8E0177-9701-4A59-A6CD-16C6908839EA}.Release|x64.Build.0 = Release|Any CPU
+ {3A8E0177-9701-4A59-A6CD-16C6908839EA}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {3A8E0177-9701-4A59-A6CD-16C6908839EA}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {3A8E0177-9701-4A59-A6CD-16C6908839EA}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {3A8E0177-9701-4A59-A6CD-16C6908839EA}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {3A8E0177-9701-4A59-A6CD-16C6908839EA}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {3A8E0177-9701-4A59-A6CD-16C6908839EA}.Debug CLI|Win32.Build.0 = Debug|Any CPU
+ {3A8E0177-9701-4A59-A6CD-16C6908839EA}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
+ {3A8E0177-9701-4A59-A6CD-16C6908839EA}.Debug CLI|x64.Build.0 = Debug|Any CPU
{F3D0C468-467F-4544-905D-20C75D01D2CE}.CLI|Mixed Platforms.ActiveCfg = Release|Any CPU
{F3D0C468-467F-4544-905D-20C75D01D2CE}.CLI|Mixed Platforms.Build.0 = Release|Any CPU
{F3D0C468-467F-4544-905D-20C75D01D2CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -351,6 +438,14 @@ Global
{F3D0C468-467F-4544-905D-20C75D01D2CE}.CLI|Win32.Build.0 = Release|Any CPU
{F3D0C468-467F-4544-905D-20C75D01D2CE}.CLI|x64.ActiveCfg = Release|Any CPU
{F3D0C468-467F-4544-905D-20C75D01D2CE}.CLI|x64.Build.0 = Release|Any CPU
+ {F3D0C468-467F-4544-905D-20C75D01D2CE}.Debug CLI|Any CPU.ActiveCfg = Debug|Any CPU
+ {F3D0C468-467F-4544-905D-20C75D01D2CE}.Debug CLI|Any CPU.Build.0 = Debug|Any CPU
+ {F3D0C468-467F-4544-905D-20C75D01D2CE}.Debug CLI|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {F3D0C468-467F-4544-905D-20C75D01D2CE}.Debug CLI|Mixed Platforms.Build.0 = Debug|Any CPU
+ {F3D0C468-467F-4544-905D-20C75D01D2CE}.Debug CLI|Win32.ActiveCfg = Debug|Any CPU
+ {F3D0C468-467F-4544-905D-20C75D01D2CE}.Debug CLI|Win32.Build.0 = Debug|Any CPU
+ {F3D0C468-467F-4544-905D-20C75D01D2CE}.Debug CLI|x64.ActiveCfg = Debug|Any CPU
+ {F3D0C468-467F-4544-905D-20C75D01D2CE}.Debug CLI|x64.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Shoko.Server/Databases/SQLServer.cs b/Shoko.Server/Databases/SQLServer.cs
index 3182e69c2..6d302dc83 100644
--- a/Shoko.Server/Databases/SQLServer.cs
+++ b/Shoko.Server/Databases/SQLServer.cs
@@ -4,14 +4,20 @@
using System.Data.SqlClient;
using System.IO;
using System.Linq;
+using FluentNHibernate;
using FluentNHibernate.Cfg;
using FluentNHibernate.Cfg.Db;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.Win32;
using NHibernate;
+using NHibernate.AdoNet;
+using NHibernate.Cfg;
+using NHibernate.Dialect;
+using NHibernate.Driver;
using Shoko.Server.Repositories;
using Shoko.Server.Settings;
+using Configuration = NHibernate.Cfg.Configuration;
// ReSharper disable InconsistentNaming
@@ -83,10 +89,21 @@ public ISessionFactory CreateSessionFactory()
};persist security info=True;user id={
ServerSettings.Instance.Database.Username
};password={ServerSettings.Instance.Database.Password}";
+ // SQL Server batching on Mono is busted atm.
+ // Fixed in https://github.com/mono/corefx/commit/6e65509a17da898933705899677c22eae437d68a
+ // but waiting for release
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(connectionstring))
- .Mappings(m =>
- m.FluentMappings.AddFromAssemblyOf())
+ .Mappings(m => m.FluentMappings.AddFromAssemblyOf())
+ .ExposeConfiguration(c => c.DataBaseIntegration(prop =>
+ {
+ // SQL Server batching on Mono is busted atm.
+ // Fixed in https://github.com/mono/corefx/commit/6e65509a17da898933705899677c22eae437d68a
+ // but waiting for release. This will negatively affect performance, but there's not much choice
+ if (!Utils.IsRunningOnMono()) return;
+ prop.Batcher();
+ prop.BatchSize = 0;
+ }))
.BuildSessionFactory();
}
diff --git a/Shoko.Server/Models/SVR_AniDB_Anime.cs b/Shoko.Server/Models/SVR_AniDB_Anime.cs
index 00d005b5d..434cdc027 100644
--- a/Shoko.Server/Models/SVR_AniDB_Anime.cs
+++ b/Shoko.Server/Models/SVR_AniDB_Anime.cs
@@ -878,7 +878,7 @@ public SVR_AnimeSeries CreateAnimeSeriesAndGroup(ISessionWrapper session, SVR_An
taskTimer.Start();
- CreateEpisodes(eps,animeInfo.AnimeID);
+ CreateEpisodes(eps);
taskTimer.Stop();
logger.Trace("CreateEpisodes in : " + taskTimer.ElapsedMilliseconds);
taskTimer.Restart();
@@ -941,7 +941,7 @@ public void PopulateAndSaveFromUDP(Raw_AniDB_Anime animeInfo)
CreateAnimeReviews();
}
- public void CreateEpisodes(List eps, int anidbid)
+ public void CreateEpisodes(List eps)
{
if (eps == null) return;
@@ -951,7 +951,7 @@ public void CreateEpisodes(List eps, int anidbid)
- Dictionary currentAniDBEpisodes=RepoFactory.AniDB_Episode.GetByAnimeID(anidbid).ToDictionary(a=>a.EpisodeID,a=>a);
+ Dictionary currentAniDBEpisodes=RepoFactory.AniDB_Episode.GetByAnimeID(AnimeID).ToDictionary(a=>a.EpisodeID,a=>a);
Dictionary currentAnimeEpisodes = currentAniDBEpisodes.Select(a => RepoFactory.AnimeEpisode.GetByAniDBEpisodeID(a.Key)).Where(a=>a!=null).ToDictionary(a => a.AniDB_EpisodeID, a => a);
List oldtitles = currentAniDBEpisodes.Select(a => RepoFactory.AniDB_Episode_Title.GetByEpisodeID(a.Key)).Where(a=>a!=null).SelectMany(a => a).ToList();
RepoFactory.AniDB_Episode_Title.Delete(oldtitles);