parent
54d95e2e20
commit
2ec79e6744
|
@ -1,48 +1,46 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.Owin.Hosting;
|
||||||
using NLog;
|
using NLog;
|
||||||
using Nancy.Bootstrapper;
|
using Nancy.Bootstrapper;
|
||||||
using Nancy.Hosting.Self;
|
using Nancy.Owin;
|
||||||
|
using Owin;
|
||||||
|
|
||||||
namespace NzbDrone.Common
|
namespace NzbDrone.Common
|
||||||
{
|
{
|
||||||
public interface IHostController
|
public interface IHostController
|
||||||
{
|
{
|
||||||
bool ServerStarted { get; }
|
|
||||||
string AppUrl { get; }
|
string AppUrl { get; }
|
||||||
void StartServer();
|
void StartServer();
|
||||||
void RestartServer();
|
void RestartServer();
|
||||||
void StopServer();
|
void StopServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public class HostController : IHostController
|
|
||||||
|
public class OwinHostController : IHostController
|
||||||
{
|
{
|
||||||
private readonly ConfigFileProvider _configFileProvider;
|
private readonly ConfigFileProvider _configFileProvider;
|
||||||
private readonly SecurityProvider _securityProvider;
|
|
||||||
private readonly INancyBootstrapper _bootstrapper;
|
private readonly INancyBootstrapper _bootstrapper;
|
||||||
private readonly Logger _logger;
|
private readonly Logger _logger;
|
||||||
private NancyHost _host;
|
private IDisposable _host;
|
||||||
|
|
||||||
|
public OwinHostController(ConfigFileProvider configFileProvider, INancyBootstrapper bootstrapper, Logger logger)
|
||||||
public bool ServerStarted { get; private set; }
|
|
||||||
|
|
||||||
public HostController(ConfigFileProvider configFileProvider, SecurityProvider securityProvider, INancyBootstrapper bootstrapper, Logger logger)
|
|
||||||
{
|
{
|
||||||
_configFileProvider = configFileProvider;
|
_configFileProvider = configFileProvider;
|
||||||
_securityProvider = securityProvider;
|
|
||||||
_bootstrapper = bootstrapper;
|
_bootstrapper = bootstrapper;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartServer()
|
public void StartServer()
|
||||||
{
|
{
|
||||||
if (_securityProvider.IsNzbDroneUrlRegistered())
|
_host = WebApplication.Start(AppUrl, builder => RunNancy(builder, _bootstrapper));
|
||||||
_host = new NancyHost(new Uri(AppUrl), _bootstrapper);
|
}
|
||||||
|
|
||||||
else
|
private static IAppBuilder RunNancy(IAppBuilder builder, INancyBootstrapper bootstrapper)
|
||||||
_host = new NancyHost(new Uri(AppUrl), _bootstrapper, new HostConfiguration { RewriteLocalhost = false });
|
{
|
||||||
|
var nancyOwinHost = new NancyOwinHost(null, bootstrapper);
|
||||||
_host.Start();
|
return builder.Use((Func<Func<IDictionary<string, object>, Task>, Func<IDictionary<string, object>, Task>>)(next => (Func<IDictionary<string, object>, Task>)nancyOwinHost.Invoke), new object[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string AppUrl
|
public string AppUrl
|
||||||
|
@ -52,14 +50,9 @@ namespace NzbDrone.Common
|
||||||
|
|
||||||
public void RestartServer()
|
public void RestartServer()
|
||||||
{
|
{
|
||||||
|
|
||||||
_logger.Warn("Attempting to restart server.");
|
_logger.Warn("Attempting to restart server.");
|
||||||
|
|
||||||
if (_host != null)
|
|
||||||
{
|
|
||||||
StopServer();
|
StopServer();
|
||||||
}
|
|
||||||
|
|
||||||
StartServer();
|
StartServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,9 +61,11 @@ namespace NzbDrone.Common
|
||||||
if (_host == null) return;
|
if (_host == null) return;
|
||||||
|
|
||||||
_logger.Info("Attempting to stop Nancy host");
|
_logger.Info("Attempting to stop Nancy host");
|
||||||
_host.Stop();
|
_host.Dispose();
|
||||||
_host = null;
|
_host = null;
|
||||||
_logger.Info("Host has stopped");
|
_logger.Info("Host has stopped");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -59,11 +59,17 @@
|
||||||
<HintPath>..\packages\DotNetZip.1.9.1.8\lib\net20\Ionic.Zip.dll</HintPath>
|
<HintPath>..\packages\DotNetZip.1.9.1.8\lib\net20\Ionic.Zip.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="Microsoft.Owin.Host.HttpListener">
|
||||||
|
<HintPath>..\packages\Microsoft.Owin.Host.HttpListener.0.21.0-pre\lib\net40\Microsoft.Owin.Host.HttpListener.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Owin.Hosting">
|
||||||
|
<HintPath>..\packages\Microsoft.Owin.Hosting.0.21.0-pre\lib\net40\Microsoft.Owin.Hosting.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Nancy">
|
<Reference Include="Nancy">
|
||||||
<HintPath>..\packages\Nancy.0.16.1\lib\net40\Nancy.dll</HintPath>
|
<HintPath>..\packages\Nancy.0.16.1\lib\net40\Nancy.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Nancy.Hosting.Self">
|
<Reference Include="Nancy.Owin">
|
||||||
<HintPath>..\packages\Nancy.Hosting.Self.0.16.1\lib\net40\Nancy.Hosting.Self.dll</HintPath>
|
<HintPath>..\packages\Nancy.Owin.0.16.1\lib\net40\Nancy.Owin.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
@ -73,6 +79,9 @@
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\NLog.2.0.1.2\lib\net40\NLog.dll</HintPath>
|
<HintPath>..\packages\NLog.2.0.1.2\lib\net40\NLog.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Owin">
|
||||||
|
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Configuration.Install" />
|
<Reference Include="System.Configuration.Install" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
@ -172,6 +181,9 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Expansive\license.txt" />
|
<Content Include="Expansive\license.txt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<WCFMetadata Include="Service References\" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
|
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="DotNetZip" version="1.9.1.8" targetFramework="net40" />
|
<package id="DotNetZip" version="1.9.1.8" targetFramework="net40" />
|
||||||
|
<package id="Microsoft.Owin.Host.HttpListener" version="0.21.0-pre" targetFramework="net40" />
|
||||||
|
<package id="Microsoft.Owin.Hosting" version="0.21.0-pre" targetFramework="net40" />
|
||||||
<package id="Nancy" version="0.16.1" targetFramework="net40" />
|
<package id="Nancy" version="0.16.1" targetFramework="net40" />
|
||||||
<package id="Nancy.Hosting.Self" version="0.16.1" targetFramework="net40" />
|
<package id="Nancy.Owin" version="0.16.1" targetFramework="net40" />
|
||||||
<package id="Newtonsoft.Json" version="5.0.3" targetFramework="net35" />
|
<package id="Newtonsoft.Json" version="5.0.3" targetFramework="net35" />
|
||||||
<package id="NLog" version="2.0.1.2" targetFramework="net40" />
|
<package id="NLog" version="2.0.1.2" targetFramework="net40" />
|
||||||
|
<package id="Owin" version="1.0" targetFramework="net40" />
|
||||||
</packages>
|
</packages>
|
|
@ -1,13 +1,12 @@
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using Moq;
|
||||||
using NLog;
|
using NLog;
|
||||||
using NLog.Config;
|
using NLog.Config;
|
||||||
using NLog.Targets;
|
using NLog.Targets;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using Nancy.Hosting.Self;
|
|
||||||
using NzbDrone.Api;
|
using NzbDrone.Api;
|
||||||
using NzbDrone.Api.Commands;
|
using NzbDrone.Api.Commands;
|
||||||
using NzbDrone.Api.Indexers;
|
|
||||||
using NzbDrone.Api.RootFolders;
|
using NzbDrone.Api.RootFolders;
|
||||||
using NzbDrone.Common;
|
using NzbDrone.Common;
|
||||||
using NzbDrone.Core.Datastore;
|
using NzbDrone.Core.Datastore;
|
||||||
|
@ -21,7 +20,7 @@ namespace NzbDrone.Integration.Test
|
||||||
public abstract class IntegrationTest
|
public abstract class IntegrationTest
|
||||||
{
|
{
|
||||||
private NancyBootstrapper _bootstrapper;
|
private NancyBootstrapper _bootstrapper;
|
||||||
private NancyHost _host;
|
private IHostController _hostController;
|
||||||
protected RestClient RestClient { get; private set; }
|
protected RestClient RestClient { get; private set; }
|
||||||
|
|
||||||
private static readonly Logger Logger = LogManager.GetLogger("TEST");
|
private static readonly Logger Logger = LogManager.GetLogger("TEST");
|
||||||
|
@ -82,24 +81,27 @@ namespace NzbDrone.Integration.Test
|
||||||
|
|
||||||
_bootstrapper = new NancyBootstrapper(Container);
|
_bootstrapper = new NancyBootstrapper(Container);
|
||||||
|
|
||||||
const string url = "http://localhost:1313";
|
|
||||||
|
|
||||||
_host = new NancyHost(new Uri(url), _bootstrapper);
|
var _hostConfig = new Mock<ConfigFileProvider>();
|
||||||
|
_hostConfig.SetupGet(c => c.Port).Returns(1313);
|
||||||
|
|
||||||
RestClient = new RestClient(url + "/api/");
|
_hostController = new OwinHostController(_hostConfig.Object, _bootstrapper, Logger);
|
||||||
|
|
||||||
|
|
||||||
|
RestClient = new RestClient(_hostController.AppUrl + "/api/");
|
||||||
Series = new SeriesClient(RestClient);
|
Series = new SeriesClient(RestClient);
|
||||||
Releases = new ReleaseClient(RestClient);
|
Releases = new ReleaseClient(RestClient);
|
||||||
RootFolders = new ClientBase<RootFolderResource>(RestClient);
|
RootFolders = new ClientBase<RootFolderResource>(RestClient);
|
||||||
Commands = new ClientBase<CommandResource>(RestClient);
|
Commands = new ClientBase<CommandResource>(RestClient);
|
||||||
Indexers = new IndexerClient(RestClient);
|
Indexers = new IndexerClient(RestClient);
|
||||||
|
|
||||||
_host.Start();
|
_hostController.StartServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
[TearDown]
|
[TearDown]
|
||||||
public void SmokeTestTearDown()
|
public void SmokeTestTearDown()
|
||||||
{
|
{
|
||||||
_host.Stop();
|
_hostController.StopServer();
|
||||||
|
|
||||||
_bootstrapper.Shutdown();
|
_bootstrapper.Shutdown();
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,11 +40,23 @@
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\FluentValidation.4.0.0.0\lib\Net40\FluentValidation.dll</HintPath>
|
<HintPath>..\packages\FluentValidation.4.0.0.0\lib\Net40\FluentValidation.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Owin.Host.HttpListener">
|
||||||
|
<HintPath>..\packages\Microsoft.Owin.Host.HttpListener.0.21.0-pre\lib\net40\Microsoft.Owin.Host.HttpListener.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Owin.Hosting, Version=0.21.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\packages\Microsoft.Owin.Hosting.0.21.0-pre\lib\net40\Microsoft.Owin.Hosting.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Moq, Version=4.0.10827.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\packages\Moq.4.0.10827\lib\NET40\Moq.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Nancy">
|
<Reference Include="Nancy">
|
||||||
<HintPath>..\packages\Nancy.0.16.1\lib\net40\Nancy.dll</HintPath>
|
<HintPath>..\packages\Nancy.0.16.1\lib\net40\Nancy.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Nancy.Hosting.Self">
|
<Reference Include="Nancy.Owin, Version=0.16.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Nancy.Hosting.Self.0.16.1\lib\net40\Nancy.Hosting.Self.dll</HintPath>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\packages\Nancy.Owin.0.16.1\lib\net40\Nancy.Owin.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Newtonsoft.Json">
|
<Reference Include="Newtonsoft.Json">
|
||||||
<HintPath>..\packages\Newtonsoft.Json.5.0.3\lib\net35\Newtonsoft.Json.dll</HintPath>
|
<HintPath>..\packages\Newtonsoft.Json.5.0.3\lib\net35\Newtonsoft.Json.dll</HintPath>
|
||||||
|
@ -55,6 +67,10 @@
|
||||||
<Reference Include="nunit.framework">
|
<Reference Include="nunit.framework">
|
||||||
<HintPath>..\packages\NUnit.2.6.2\lib\nunit.framework.dll</HintPath>
|
<HintPath>..\packages\NUnit.2.6.2\lib\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="RestSharp">
|
<Reference Include="RestSharp">
|
||||||
<HintPath>..\packages\RestSharp.104.1\lib\net4\RestSharp.dll</HintPath>
|
<HintPath>..\packages\RestSharp.104.1\lib\net4\RestSharp.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
|
|
@ -62,5 +62,12 @@ namespace NzbDrone.Integration.Test
|
||||||
Series.Get("non-existing-slug", HttpStatusCode.NotFound);
|
Series.Get("non-existing-slug", HttpStatusCode.NotFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Ignore]
|
||||||
|
public void invalid_id_should_return_404()
|
||||||
|
{
|
||||||
|
//TODO: fix
|
||||||
|
Series.Get(99, HttpStatusCode.NotFound);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,10 +2,14 @@
|
||||||
<packages>
|
<packages>
|
||||||
<package id="FluentAssertions" version="2.0.1" targetFramework="net40" />
|
<package id="FluentAssertions" version="2.0.1" targetFramework="net40" />
|
||||||
<package id="FluentValidation" version="4.0.0.0" targetFramework="net40" />
|
<package id="FluentValidation" version="4.0.0.0" targetFramework="net40" />
|
||||||
|
<package id="Microsoft.Owin.Host.HttpListener" version="0.21.0-pre" targetFramework="net40" />
|
||||||
|
<package id="Microsoft.Owin.Hosting" version="0.21.0-pre" targetFramework="net40" />
|
||||||
|
<package id="Moq" version="4.0.10827" targetFramework="net40" />
|
||||||
<package id="Nancy" version="0.16.1" targetFramework="net40" />
|
<package id="Nancy" version="0.16.1" targetFramework="net40" />
|
||||||
<package id="Nancy.Hosting.Self" version="0.16.1" targetFramework="net40" />
|
<package id="Nancy.Owin" version="0.16.1" targetFramework="net40" />
|
||||||
<package id="Newtonsoft.Json" version="5.0.3" targetFramework="net40" />
|
<package id="Newtonsoft.Json" version="5.0.3" targetFramework="net40" />
|
||||||
<package id="NLog" version="2.0.1.2" targetFramework="net40" />
|
<package id="NLog" version="2.0.1.2" targetFramework="net40" />
|
||||||
<package id="NUnit" version="2.6.2" targetFramework="net40" />
|
<package id="NUnit" version="2.6.2" targetFramework="net40" />
|
||||||
|
<package id="Owin" version="1.0" targetFramework="net40" />
|
||||||
<package id="RestSharp" version="104.1" targetFramework="net40" />
|
<package id="RestSharp" version="104.1" targetFramework="net40" />
|
||||||
</packages>
|
</packages>
|
|
@ -91,16 +91,28 @@
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\FluentMigrator.1.0.6.0\tools\FluentMigrator.Runner.dll</HintPath>
|
<HintPath>..\packages\FluentMigrator.1.0.6.0\tools\FluentMigrator.Runner.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Owin.Host.HttpListener">
|
||||||
|
<HintPath>..\packages\Microsoft.Owin.Host.HttpListener.0.21.0-pre\lib\net40\Microsoft.Owin.Host.HttpListener.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Owin.Hosting, Version=0.21.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\packages\Microsoft.Owin.Hosting.0.21.0-pre\lib\net40\Microsoft.Owin.Hosting.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Nancy">
|
<Reference Include="Nancy">
|
||||||
<HintPath>..\packages\Nancy.0.16.1\lib\net40\Nancy.dll</HintPath>
|
<HintPath>..\packages\Nancy.0.16.1\lib\net40\Nancy.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Nancy.Hosting.Self">
|
<Reference Include="Nancy.Owin, Version=0.16.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Nancy.Hosting.Self.0.16.1\lib\net40\Nancy.Hosting.Self.dll</HintPath>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\packages\Nancy.Owin.0.16.1\lib\net40\Nancy.Owin.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="NLog, Version=2.0.1.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
<Reference Include="NLog, Version=2.0.1.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\NLog.2.0.1.2\lib\net40\NLog.dll</HintPath>
|
<HintPath>..\packages\NLog.2.0.1.2\lib\net40\NLog.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.ServiceProcess" />
|
<Reference Include="System.ServiceProcess" />
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="FluentMigrator" version="1.0.6.0" targetFramework="net40" />
|
<package id="FluentMigrator" version="1.0.6.0" targetFramework="net40" />
|
||||||
|
<package id="Microsoft.Owin.Host.HttpListener" version="0.21.0-pre" targetFramework="net40" />
|
||||||
|
<package id="Microsoft.Owin.Hosting" version="0.21.0-pre" targetFramework="net40" />
|
||||||
<package id="Nancy" version="0.16.1" targetFramework="net40" />
|
<package id="Nancy" version="0.16.1" targetFramework="net40" />
|
||||||
<package id="Nancy.Hosting.Self" version="0.16.1" targetFramework="net40" />
|
<package id="Nancy.Owin" version="0.16.1" targetFramework="net40" />
|
||||||
<package id="NLog" version="2.0.1.2" targetFramework="net40" />
|
<package id="NLog" version="2.0.1.2" targetFramework="net40" />
|
||||||
<package id="NLog.Config" version="2.0.1.2" targetFramework="net40" />
|
<package id="NLog.Config" version="2.0.1.2" targetFramework="net40" />
|
||||||
<package id="NLog.Schema" version="2.0.1.2" targetFramework="net40" />
|
<package id="NLog.Schema" version="2.0.1.2" targetFramework="net40" />
|
||||||
|
<package id="Owin" version="1.0" targetFramework="net40" />
|
||||||
</packages>
|
</packages>
|
Loading…
Reference in New Issue