Introduced MSAL
update of references
Changed creation of temporary filenames
version bumped to 2.8.0
This commit is contained in:
Tomek Melissa 2019-10-11 19:47:54 +02:00
Родитель f17a612f58
Коммит e09a20f712
21 изменённых файлов: 82 добавлений и 68 удалений

Просмотреть файл

@ -23,6 +23,7 @@
<WarningLevel>4</WarningLevel>
<RunCodeAnalysis>false</RunCodeAnalysis>
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -31,6 +32,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
@ -49,6 +51,7 @@
</Compile>
<Compile Include="Contracts\ContractEnums.cs" />
<Compile Include="Contracts\OdataActionsConstants.cs" />
<Compile Include="Helpers\AuthenticationHelper.cs" />
<Compile Include="Helpers\FileOperationsHelper.cs" />
<Compile Include="JobSettings\ExportJobSettings.cs" />
<Compile Include="JobSettings\ImportJobSettings.cs" />
@ -63,7 +66,6 @@
<Compile Include="Contracts\DequeueResponse.cs" />
<Compile Include="Contracts\DataMessage.cs" />
<Compile Include="Contracts\SettingsConstants.cs" />
<Compile Include="Helpers\AuthenticationHelper.cs" />
<Compile Include="Helpers\EncryptDecrypt.cs" />
<Compile Include="Helpers\Extensions.cs" />
<Compile Include="Helpers\HttpClientHelper.cs" />
@ -81,14 +83,14 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.IdentityModel.Clients.ActiveDirectory">
<Version>5.2.0</Version>
<PackageReference Include="Microsoft.Identity.Client">
<Version>4.4.0</Version>
</PackageReference>
<PackageReference Include="Newtonsoft.Json">
<Version>12.0.2</Version>
</PackageReference>
<PackageReference Include="Polly">
<Version>7.1.0</Version>
<Version>7.1.1</Version>
</PackageReference>
<PackageReference Include="Quartz">
<Version>3.0.7</Version>

Просмотреть файл

@ -1,11 +1,12 @@
/* Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. */
using Microsoft.IdentityModel.Clients.ActiveDirectory;
using Polly;
using Microsoft.Identity.Client;
using Polly.Retry;
using RecurringIntegrationsScheduler.Common.JobSettings;
using System;
using System.Net.Http.Headers;
using System.Linq;
using System.Security;
using System.Threading.Tasks;
namespace RecurringIntegrationsScheduler.Common.Helpers
@ -17,7 +18,7 @@ namespace RecurringIntegrationsScheduler.Common.Helpers
{
private readonly Settings _settings;
private string _authorizationHeader;
private readonly Polly.Retry.AsyncRetryPolicy _retryPolicy;
private readonly AsyncRetryPolicy _retryPolicy;
/// <summary>
/// Initializes a new instance of the <see cref="AuthenticationHelper"/> class.
@ -47,29 +48,41 @@ namespace RecurringIntegrationsScheduler.Common.Helpers
if (!string.IsNullOrEmpty(_authorizationHeader) &&
(DateTime.UtcNow.AddSeconds(60) < AuthenticationResult.ExpiresOn)) return _authorizationHeader;
var uri = new UriBuilder(_settings.AzureAuthEndpoint)
{
Path = _settings.AadTenant
};
IConfidentialClientApplication appConfidential;
IPublicClientApplication appPublic;
var aosUriAuthUri = new Uri(_settings.AosUri);
string aosUriAuth = aosUriAuthUri.GetLeftPart(UriPartial.Authority);
var authenticationContext = new AuthenticationContext(uri.ToString(), validateAuthority: false);
string authority = "https://login.microsoftonline.com/"+ _settings.AadTenant;
string[] scopes = new string[] { aosUriAuthUri.AbsoluteUri + ".default" };
if (_settings.UseServiceAuthentication)
{
var credentials = new ClientCredential(_settings.AadClientId.ToString(), _settings.AadClientSecret);
AuthenticationResult = await _retryPolicy.ExecuteAsync(() => authenticationContext.AcquireTokenAsync(aosUriAuth, credentials));
appConfidential = ConfidentialClientApplicationBuilder.Create(_settings.AadClientId.ToString())
.WithClientSecret(_settings.AadClientSecret)
.WithAuthority(authority)
.Build();
AuthenticationResult = await _retryPolicy.ExecuteAsync(() => appConfidential.AcquireTokenForClient(scopes).ExecuteAsync());
}
else
{
var credentials = new UserPasswordCredential(_settings.UserName, _settings.UserPassword);
appPublic = PublicClientApplicationBuilder.Create(_settings.AadClientId.ToString())
.WithAuthority(authority)
.Build();
var accounts = await _retryPolicy.ExecuteAsync(() => appPublic.GetAccountsAsync());
AuthenticationResult = await _retryPolicy.ExecuteAsync(() => authenticationContext.AcquireTokenAsync(aosUriAuth, _settings.AadClientId.ToString(), credentials));
if (accounts.Any())
{
AuthenticationResult = await _retryPolicy.ExecuteAsync(() => appPublic.AcquireTokenSilent(scopes, accounts.FirstOrDefault()).ExecuteAsync());
}
else
{
using var securePassword = new SecureString();
foreach (char c in _settings.UserPassword)
securePassword.AppendChar(c);
AuthenticationResult = await _retryPolicy.ExecuteAsync(() => appPublic.AcquireTokenByUsernamePassword(scopes, _settings.UserName, securePassword).ExecuteAsync());
}
}
return _authorizationHeader = AuthenticationResult.CreateAuthorizationHeader();
}
@ -77,25 +90,12 @@ namespace RecurringIntegrationsScheduler.Common.Helpers
/// Gets valid authentication header
/// </summary>
/// <returns>
/// AuthenticationHeaderValue object
/// string
/// </returns>
public async Task<AuthenticationHeaderValue> GetValidAuthenticationHeader()
public async Task<string> GetValidAuthenticationHeader()
{
_authorizationHeader = await AuthorizationHeader();
return ParseAuthenticationHeader(_authorizationHeader);
}
/// <summary>
/// Parses authentication header.
/// </summary>
/// <param name="authorizationHeader">Authorization header.</param>
/// <returns>AuthenticationHeaderValue object</returns>
private static AuthenticationHeaderValue ParseAuthenticationHeader(string authorizationHeader)
{
var split = authorizationHeader.Split(' ');
var scheme = split[0];
var parameter = split[1];
return new AuthenticationHeaderValue(scheme, parameter);
return _authorizationHeader;
}
}
}

Просмотреть файл

@ -3,7 +3,7 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Polly;
using Polly.Retry;
using RecurringIntegrationsScheduler.Common.JobSettings;
using RecurringIntegrationsScheduler.Common.Properties;
using System;
@ -28,7 +28,7 @@ namespace RecurringIntegrationsScheduler.Common.Helpers
private bool _disposed;
private readonly Polly.Retry.AsyncRetryPolicy _retryPolicy;
private readonly AsyncRetryPolicy _retryPolicy;
/// <summary>
/// Initializes a new instance of the <see cref="HttpClientHelper"/> class.
@ -67,7 +67,7 @@ namespace RecurringIntegrationsScheduler.Common.Helpers
public async Task<HttpResponseMessage> PostStreamRequestAsync(Uri uri, Stream bodyStream, string externalCorrelationHeaderValue = null)
{
_httpClient.DefaultRequestHeaders.Clear();
_httpClient.DefaultRequestHeaders.Authorization = await _authenticationHelper.GetValidAuthenticationHeader();
_httpClient.DefaultRequestHeaders.Add("Authorization", await _authenticationHelper.GetValidAuthenticationHeader());
// Add external correlation id header if specified and valid
if (!string.IsNullOrEmpty(externalCorrelationHeaderValue))
@ -99,7 +99,7 @@ namespace RecurringIntegrationsScheduler.Common.Helpers
public async Task<HttpResponseMessage> PostStringRequestAsync(Uri uri, string bodyString, string externalCorrelationHeaderValue = null)
{
_httpClient.DefaultRequestHeaders.Clear();
_httpClient.DefaultRequestHeaders.Authorization = await _authenticationHelper.GetValidAuthenticationHeader();
_httpClient.DefaultRequestHeaders.Add("Authorization", await _authenticationHelper.GetValidAuthenticationHeader());
_httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// Add external correlation id header if specified and valid
@ -133,7 +133,7 @@ namespace RecurringIntegrationsScheduler.Common.Helpers
_httpClient.DefaultRequestHeaders.Clear();
if(addAuthorization)
{
_httpClient.DefaultRequestHeaders.Authorization = await _authenticationHelper.GetValidAuthenticationHeader();
_httpClient.DefaultRequestHeaders.Add("Authorization", await _authenticationHelper.GetValidAuthenticationHeader());
}
return await _retryPolicy.ExecuteAsync(() => _httpClient.GetAsync(uri));
}

Просмотреть файл

@ -24,6 +24,7 @@
<Prefer32Bit>false</Prefer32Bit>
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
<RunCodeAnalysis>false</RunCodeAnalysis>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -33,6 +34,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
@ -43,7 +45,7 @@
<HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc, processorArchitecture=MSIL">
<HintPath>..\packages\Polly.7.1.0\lib\netstandard2.0\Polly.dll</HintPath>
<HintPath>..\packages\Polly.7.1.1\lib\netstandard2.0\Polly.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.0.7.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.0.7\lib\net452\Quartz.dll</HintPath>

Просмотреть файл

@ -2,6 +2,6 @@
<packages>
<package id="log4net" version="2.0.8" targetFramework="net46" />
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net472" />
<package id="Polly" version="7.1.0" targetFramework="net472" />
<package id="Polly" version="7.1.1" targetFramework="net472" />
<package id="Quartz" version="3.0.7" targetFramework="net461" />
</packages>

Просмотреть файл

@ -24,6 +24,7 @@
<Prefer32Bit>false</Prefer32Bit>
<RunCodeAnalysis>false</RunCodeAnalysis>
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -33,6 +34,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
@ -43,7 +45,7 @@
<HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc, processorArchitecture=MSIL">
<HintPath>..\packages\Polly.7.1.0\lib\netstandard2.0\Polly.dll</HintPath>
<HintPath>..\packages\Polly.7.1.1\lib\netstandard2.0\Polly.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.0.7.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.0.7\lib\net452\Quartz.dll</HintPath>

Просмотреть файл

@ -2,6 +2,6 @@
<packages>
<package id="log4net" version="2.0.8" targetFramework="net46" />
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net472" />
<package id="Polly" version="7.1.0" targetFramework="net472" />
<package id="Polly" version="7.1.1" targetFramework="net472" />
<package id="Quartz" version="3.0.7" targetFramework="net461" />
</packages>

Просмотреть файл

@ -24,6 +24,7 @@
<Prefer32Bit>false</Prefer32Bit>
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
<RunCodeAnalysis>false</RunCodeAnalysis>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -33,6 +34,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
@ -40,7 +42,7 @@
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc, processorArchitecture=MSIL">
<HintPath>..\packages\Polly.7.1.0\lib\netstandard2.0\Polly.dll</HintPath>
<HintPath>..\packages\Polly.7.1.1\lib\netstandard2.0\Polly.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.0.7.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.0.7\lib\net452\Quartz.dll</HintPath>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="log4net" version="2.0.8" targetFramework="net46" />
<package id="Polly" version="7.1.0" targetFramework="net472" />
<package id="Polly" version="7.1.1" targetFramework="net472" />
<package id="Quartz" version="3.0.7" targetFramework="net461" />
</packages>

Просмотреть файл

@ -222,7 +222,7 @@ namespace RecurringIntegrationsScheduler.Job
{
using (zipToOpen = new FileStream(_settings.PackageTemplate, FileMode.Open))
{
tempFileName = Path.GetTempFileName();
tempFileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
_retryPolicyForIo.Execute(() => FileOperationsHelper.Create(zipToOpen, tempFileName));
var tempZipStream = _retryPolicyForIo.Execute(() => FileOperationsHelper.Read(tempFileName));
using (archive = new ZipArchive(tempZipStream, ZipArchiveMode.Update))
@ -399,8 +399,8 @@ namespace RecurringIntegrationsScheduler.Job
ZipArchiveEntry manifestEntry = archive.GetEntry("Manifest.xml");
// Save the Manifest.xml as temporary file
string tempManifestFileName = Path.GetTempFileName();
string tempManifestFileNameNew = Path.GetTempFileName();
string tempManifestFileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
string tempManifestFileNameNew = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
manifestEntry.ExtractToFile(tempManifestFileName, true);

Просмотреть файл

@ -24,6 +24,7 @@
<Prefer32Bit>false</Prefer32Bit>
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
<RunCodeAnalysis>false</RunCodeAnalysis>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -33,6 +34,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
@ -43,7 +45,7 @@
<HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc, processorArchitecture=MSIL">
<HintPath>..\packages\Polly.7.1.0\lib\netstandard2.0\Polly.dll</HintPath>
<HintPath>..\packages\Polly.7.1.1\lib\netstandard2.0\Polly.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.0.7.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.0.7\lib\net452\Quartz.dll</HintPath>

Просмотреть файл

@ -2,6 +2,6 @@
<packages>
<package id="log4net" version="2.0.8" targetFramework="net46" />
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net472" />
<package id="Polly" version="7.1.0" targetFramework="net472" />
<package id="Polly" version="7.1.1" targetFramework="net472" />
<package id="Quartz" version="3.0.7" targetFramework="net461" />
</packages>

Просмотреть файл

@ -24,6 +24,7 @@
<Prefer32Bit>false</Prefer32Bit>
<RunCodeAnalysis>false</RunCodeAnalysis>
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -33,6 +34,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
@ -43,7 +45,7 @@
<HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc, processorArchitecture=MSIL">
<HintPath>..\packages\Polly.7.1.0\lib\netstandard2.0\Polly.dll</HintPath>
<HintPath>..\packages\Polly.7.1.1\lib\netstandard2.0\Polly.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.0.7.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.0.7\lib\net452\Quartz.dll</HintPath>

Просмотреть файл

@ -2,6 +2,6 @@
<packages>
<package id="log4net" version="2.0.8" targetFramework="net46" />
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net472" />
<package id="Polly" version="7.1.0" targetFramework="net472" />
<package id="Polly" version="7.1.1" targetFramework="net472" />
<package id="Quartz" version="3.0.7" targetFramework="net461" />
</packages>

Просмотреть файл

@ -24,6 +24,7 @@
<Prefer32Bit>false</Prefer32Bit>
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
<RunCodeAnalysis>false</RunCodeAnalysis>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -33,6 +34,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
@ -40,7 +42,7 @@
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc, processorArchitecture=MSIL">
<HintPath>..\packages\Polly.7.1.0\lib\netstandard2.0\Polly.dll</HintPath>
<HintPath>..\packages\Polly.7.1.1\lib\netstandard2.0\Polly.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.0.7.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.0.7\lib\net452\Quartz.dll</HintPath>

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="log4net" version="2.0.8" targetFramework="net46" />
<package id="Polly" version="7.1.0" targetFramework="net472" />
<package id="Polly" version="7.1.1" targetFramework="net472" />
<package id="Quartz" version="3.0.7" targetFramework="net461" />
</packages>

Просмотреть файл

@ -1,8 +1,6 @@
/* Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. */
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Polly;
using RecurringIntegrationsScheduler.Common.Helpers;
using RecurringIntegrationsScheduler.Properties;

Просмотреть файл

@ -41,6 +41,7 @@
<Prefer32Bit>false</Prefer32Bit>
<RunCodeAnalysis>false</RunCodeAnalysis>
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@ -51,6 +52,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>Assets\Recurring Integrations Scheduler.ico</ApplicationIcon>
@ -67,10 +69,10 @@
<HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc, processorArchitecture=MSIL">
<HintPath>..\packages\Polly.7.1.0\lib\netstandard2.0\Polly.dll</HintPath>
<HintPath>..\packages\Polly.7.1.1\lib\netstandard2.0\Polly.dll</HintPath>
</Reference>
<Reference Include="PortableSettingsProvider, Version=0.2.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\PortableSettingsProvider.0.2.2\lib\net45\PortableSettingsProvider.dll</HintPath>
<Reference Include="PortableSettingsProvider, Version=0.2.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\PortableSettingsProvider.0.2.3\lib\net45\PortableSettingsProvider.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.0.7.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.0.7\lib\net452\Quartz.dll</HintPath>

Просмотреть файл

@ -2,8 +2,8 @@
<packages>
<package id="log4net" version="2.0.8" targetFramework="net46" />
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net472" />
<package id="Polly" version="7.1.0" targetFramework="net472" />
<package id="PortableSettingsProvider" version="0.2.2" targetFramework="net472" />
<package id="Polly" version="7.1.1" targetFramework="net472" />
<package id="PortableSettingsProvider" version="0.2.3" targetFramework="net472" />
<package id="Quartz" version="3.0.7" targetFramework="net461" />
<package id="Quartz.Jobs" version="3.0.7" targetFramework="net472" />
<package id="Quartz.Plugins" version="3.0.7" targetFramework="net472" />

Просмотреть файл

@ -52,7 +52,7 @@ Source: "..\Output\Release\RecurringIntegrationsScheduler.Job.Import.dll"; DestD
Source: "..\Output\Release\RecurringIntegrationsScheduler.Job.Export.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: App Scheduler
Source: "..\Output\Release\RecurringIntegrationsScheduler.Job.ExecutionMonitor.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: App Scheduler
; References
Source: "..\Output\Release\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: App Scheduler
Source: "..\Output\Release\Microsoft.Identity.Clients.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: App Scheduler
Source: "..\Output\Release\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: App Scheduler
Source: "..\Output\Release\System.Linq.Dynamic.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: App Scheduler
Source: "..\Output\Release\Polly.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: App Scheduler

Просмотреть файл

@ -2,4 +2,4 @@
Licensed under the MIT License. */
using System.Reflection;
[assembly: AssemblyVersion("2.7.1.0")]
[assembly: AssemblyVersion("2.8.0.0")]