diff --git a/ModernKeePass/ModernKeePass.csproj b/ModernKeePass/ModernKeePass.csproj
index 0448914..e38b9c8 100644
--- a/ModernKeePass/ModernKeePass.csproj
+++ b/ModernKeePass/ModernKeePass.csproj
@@ -159,8 +159,8 @@
-
- ..\packages\ModernKeePassLibPCL.2.28.1.33588\lib\portable46-net451+win81+wpa81\ModernKeePassLibPCL.dll
+
+ ..\packages\ModernKeePassLibPCL.2.28.1.32210\lib\netstandard1.2\ModernKeePassLibPCL.dll
True
diff --git a/ModernKeePass/packages.config b/ModernKeePass/packages.config
index 6eff576..b58a4a5 100644
--- a/ModernKeePass/packages.config
+++ b/ModernKeePass/packages.config
@@ -4,7 +4,7 @@
-
+
@@ -14,6 +14,7 @@
+
diff --git a/ModernKeePassLib/Keys/CompositeKey.cs b/ModernKeePassLib/Keys/CompositeKey.cs
index 6c37fe3..4664b37 100644
--- a/ModernKeePassLib/Keys/CompositeKey.cs
+++ b/ModernKeePassLib/Keys/CompositeKey.cs
@@ -323,6 +323,9 @@ namespace ModernKeePassLibPCL.Keys
var iCrypt = WinRTCrypto.CryptographicEngine.CreateEncryptor(key);*/
var aes = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesEcb);
var key = aes.CreateSymmetricKey(CryptographicBuffer.CreateFromByteArray(pbKeySeed32));
+ var parameters = KeyDerivationParameters.BuildForPbkdf2(CryptographicBuffer.CreateFromByteArray(pbKeySeed32), (uint)uNumRounds);
+ var result = CryptographicEngine.DeriveKeyMaterial(key, parameters, 32);
+ CryptographicBuffer.CopyToByteArray(result, out pbNewKey32);
#else
byte[] pbIV = new byte[16];
@@ -343,7 +346,7 @@ namespace ModernKeePassLibPCL.Keys
#endif
// !iCrypt.CanReuseTransform -- doesn't work with Mono
- if ((iCrypt == null) || (iCrypt.InputBlockSize != 16) ||
+ /*if ((iCrypt == null) || (iCrypt.InputBlockSize != 16) ||
(iCrypt.OutputBlockSize != 16))
{
Debug.Assert(false, "Invalid ICryptoTransform.");
@@ -356,7 +359,7 @@ namespace ModernKeePassLibPCL.Keys
{
iCrypt.TransformBlock(pbNewKey32, 0, 16, pbNewKey32, 0);
iCrypt.TransformBlock(pbNewKey32, 16, 16, pbNewKey32, 16);
- }
+ }*/
#endif
return true;
@@ -374,7 +377,7 @@ namespace ModernKeePassLibPCL.Keys
/// a value of 401 is recommended.
/// Number of transformations performed in the specified
/// amount of time. Maximum value is uint.MaxValue.
- public static ulong TransformKeyBenchmark(uint uMilliseconds, ulong uStep)
+ /*public static ulong TransformKeyBenchmark(uint uMilliseconds, ulong uStep)
{
ulong uRounds;
@@ -398,12 +401,10 @@ namespace ModernKeePassLibPCL.Keys
aes.Init(true, kp);
#else
#if ModernKeePassLibPCL
- /*var aes = WinRTCrypto.SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithm.AesEcb);
+ var aes = WinRTCrypto.SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithm.AesEcb);
var key = aes.CreateSymmetricKey(pbKey);
- var iCrypt = WinRTCrypto.CryptographicEngine.CreateEncryptor(key);*/
- var aes = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesEcb);
- var key = aes.CreateSymmetricKey(CryptographicBuffer.CreateFromByteArray(pbKey));
-
+ var iCrypt = WinRTCrypto.CryptographicEngine.CreateEncryptor(key);
+
#else
byte[] pbIV = new byte[16];
Array.Clear(pbIV, 0, pbIV.Length);
@@ -422,8 +423,8 @@ namespace ModernKeePassLibPCL.Keys
ICryptoTransform iCrypt = r.CreateEncryptor();
#endif
- // !iCrypt.CanReuseTransform -- doesn't work with Mono
- if((iCrypt == null) || (iCrypt.InputBlockSize != 16) ||
+ // !iCrypt.CanReuseTransform -- doesn't work with Mono
+ if ((iCrypt == null) || (iCrypt.InputBlockSize != 16) ||
(iCrypt.OutputBlockSize != 16))
{
Debug.Assert(false, "Invalid ICryptoTransform.");
@@ -460,7 +461,7 @@ namespace ModernKeePassLibPCL.Keys
}
return uRounds;
- }
+ }*/
}
public sealed class InvalidCompositeKeyException : Exception
diff --git a/ModernKeePassLib/Keys/KcpKeyFile.cs b/ModernKeePassLib/Keys/KcpKeyFile.cs
index 7786695..af77f4d 100644
--- a/ModernKeePassLib/Keys/KcpKeyFile.cs
+++ b/ModernKeePassLib/Keys/KcpKeyFile.cs
@@ -87,9 +87,9 @@ namespace ModernKeePassLibPCL.Keys
Construct(iocKeyFile, bThrowIfDbFile);
}
- private void Construct(IOConnectionInfo iocFile, bool bThrowIfDbFile)
+ private async void Construct(IOConnectionInfo iocFile, bool bThrowIfDbFile)
{
- byte[] pbFileData = IOConnection.ReadFile(iocFile);
+ byte[] pbFileData = await IOConnection.ReadFile(iocFile);
if(pbFileData == null) throw new FileNotFoundException();
if(bThrowIfDbFile && (pbFileData.Length >= 8))
@@ -310,7 +310,7 @@ namespace ModernKeePassLibPCL.Keys
return pbKeyData;
}
- private static void CreateXmlKeyFile(string strFile, byte[] pbKeyData)
+ private static async void CreateXmlKeyFile(string strFile, byte[] pbKeyData)
{
Debug.Assert(strFile != null);
if(strFile == null) throw new ArgumentNullException("strFile");
@@ -318,7 +318,7 @@ namespace ModernKeePassLibPCL.Keys
if(pbKeyData == null) throw new ArgumentNullException("pbKeyData");
IOConnectionInfo ioc = IOConnectionInfo.FromPath(strFile);
- Stream sOut = IOConnection.OpenWrite(ioc);
+ Stream sOut = await IOConnection.OpenWrite(ioc);
#if ModernKeePassLibPCL
var settings = new XmlWriterSettings() { Encoding = StrUtil.Utf8 };
diff --git a/ModernKeePassLib/ModernKeePassLibPCL.csproj b/ModernKeePassLib/ModernKeePassLibPCL.csproj
index e51d3ac..888f163 100644
--- a/ModernKeePassLib/ModernKeePassLibPCL.csproj
+++ b/ModernKeePassLib/ModernKeePassLibPCL.csproj
@@ -114,7 +114,6 @@
-
diff --git a/ModernKeePassLib/PwDatabase.cs b/ModernKeePassLib/PwDatabase.cs
index be4e5f0..2f566d0 100644
--- a/ModernKeePassLib/PwDatabase.cs
+++ b/ModernKeePassLib/PwDatabase.cs
@@ -566,7 +566,7 @@ namespace ModernKeePassLibPCL
/// IO connection to load the database from.
/// Key used to open the specified database.
/// Logger, which gets all status messages.
- public void Open(IOConnectionInfo ioSource, CompositeKey pwKey,
+ public async void Open(IOConnectionInfo ioSource, CompositeKey pwKey,
IStatusLogger slLogger)
{
Debug.Assert(ioSource != null);
@@ -589,7 +589,7 @@ namespace ModernKeePassLibPCL
KdbxFile kdbx = new KdbxFile(this);
kdbx.DetachBinaries = m_strDetachBins;
- Stream s = IOConnection.OpenRead(ioSource);
+ Stream s = await IOConnection.OpenRead(ioSource);
kdbx.Load(s, KdbxFormat.Default, slLogger);
s.Dispose();
@@ -612,7 +612,7 @@ namespace ModernKeePassLibPCL
/// it has been opened from.
///
/// Logger that recieves status information.
- public void Save(IStatusLogger slLogger)
+ public async void Save(IStatusLogger slLogger)
{
Debug.Assert(ValidateUuidUniqueness());
@@ -622,7 +622,7 @@ namespace ModernKeePassLibPCL
{
FileTransactionEx ft = new FileTransactionEx(m_ioSource,
m_bUseFileTransactions);
- Stream s = ft.OpenWrite();
+ Stream s = await ft.OpenWrite();
KdbxFile kdb = new KdbxFile(this);
kdb.Save(s, null, KdbxFormat.Default, slLogger);
diff --git a/ModernKeePassLib/Serialization/FileLock.cs b/ModernKeePassLib/Serialization/FileLock.cs
index 880af0d..3c8501c 100644
--- a/ModernKeePassLib/Serialization/FileLock.cs
+++ b/ModernKeePassLib/Serialization/FileLock.cs
@@ -122,12 +122,12 @@ namespace ModernKeePassLibPCL.Serialization
return sb.ToString();
}
- public static LockFileInfo Load(IOConnectionInfo iocLockFile)
+ public static async Task Load(IOConnectionInfo iocLockFile)
{
Stream s = null;
try
{
- s = IOConnection.OpenRead(iocLockFile);
+ s = await IOConnection.OpenRead(iocLockFile);
if(s == null) return null;
StreamReader sr = new StreamReader(s, StrUtil.Utf8);
string str = sr.ReadToEnd();
@@ -149,7 +149,7 @@ namespace ModernKeePassLibPCL.Serialization
}
// Throws on error
- public static LockFileInfo Create(IOConnectionInfo iocLockFile)
+ public static async Task Create(IOConnectionInfo iocLockFile)
{
LockFileInfo lfi;
Stream s = null;
@@ -186,7 +186,7 @@ namespace ModernKeePassLibPCL.Serialization
byte[] pbFile = StrUtil.Utf8.GetBytes(sb.ToString());
- s = IOConnection.OpenWrite(iocLockFile);
+ s = await IOConnection.OpenWrite(iocLockFile);
if(s == null) throw new IOException(iocLockFile.GetDisplayName());
s.Write(pbFile, 0, pbFile.Length);
}
@@ -203,7 +203,7 @@ namespace ModernKeePassLibPCL.Serialization
m_iocLockFile = iocBaseFile.CloneDeep();
m_iocLockFile.Path += LockFileExt;
- LockFileInfo lfiEx = LockFileInfo.Load(m_iocLockFile);
+ LockFileInfo lfiEx = LockFileInfo.Load(m_iocLockFile).Result;
if(lfiEx != null)
{
m_iocLockFile = null; // Otherwise Dispose deletes the existing one
diff --git a/ModernKeePassLib/Serialization/FileTransactionEx.cs b/ModernKeePassLib/Serialization/FileTransactionEx.cs
index bad9ac9..989271d 100644
--- a/ModernKeePassLib/Serialization/FileTransactionEx.cs
+++ b/ModernKeePassLib/Serialization/FileTransactionEx.cs
@@ -29,6 +29,7 @@ using System.Security.AccessControl;
using ModernKeePassLibPCL.Native;
using ModernKeePassLibPCL.Utility;
+using System.Threading.Tasks;
namespace ModernKeePassLibPCL.Serialization
{
@@ -77,7 +78,7 @@ namespace ModernKeePassLibPCL.Serialization
else m_iocTemp = m_iocBase;
}
- public Stream OpenWrite()
+ public async Task OpenWrite()
{
if(!m_bTransacted) m_bMadeUnhidden = UrlUtil.UnhideFile(m_iocTemp.Path);
else // m_bTransacted
@@ -86,7 +87,7 @@ namespace ModernKeePassLibPCL.Serialization
catch(Exception) { }
}
- return IOConnection.OpenWrite(m_iocTemp);
+ return await IOConnection.OpenWrite(m_iocTemp);
}
public void CommitWrite()
@@ -98,7 +99,7 @@ namespace ModernKeePassLibPCL.Serialization
}
}
- private void CommitWriteTransaction()
+ private async void CommitWriteTransaction()
{
bool bMadeUnhidden = UrlUtil.UnhideFile(m_iocBase.Path);
@@ -107,7 +108,7 @@ namespace ModernKeePassLibPCL.Serialization
bool bEfsEncrypted = false;
#endif
- if(IOConnection.FileExists(m_iocBase))
+ if(await IOConnection.FileExists(m_iocBase))
{
#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
if(m_iocBase.IsLocalFile())
diff --git a/ModernKeePassLib/Serialization/IOConnection.cs b/ModernKeePassLib/Serialization/IOConnection.cs
index 6e9a1af..4157604 100644
--- a/ModernKeePassLib/Serialization/IOConnection.cs
+++ b/ModernKeePassLib/Serialization/IOConnection.cs
@@ -23,6 +23,7 @@ using System.IO;
using System.Net;
using System.Diagnostics;
using Windows.Storage.Streams;
+using System.Threading.Tasks;
#if (!ModernKeePassLibPCL && !KeePassLibSD && !KeePassRT)
using System.Net.Cache;
using System.Net.Security;
@@ -421,20 +422,21 @@ namespace ModernKeePassLibPCL.Serialization
new Uri(ioc.Path)));
}
#else
- public static Stream OpenRead(IOConnectionInfo ioc)
+ public static async Task OpenRead(IOConnectionInfo ioc)
{
RaiseIOAccessPreEvent(ioc, IOAccessType.Read);
- return OpenReadLocal(ioc);
+ return await OpenReadLocal(ioc);
}
#endif
- private static Stream OpenReadLocal(IOConnectionInfo ioc)
+ private static async Task OpenReadLocal(IOConnectionInfo ioc)
{
#if ModernKeePassLibPCL
- /*if (ioc.StorageFile != null)
+ /*if (ioc.StorageFile != null)
{*/
- return ioc.StorageFile.OpenAsync(FileAccessMode.Read).GetResults().AsStream();
+ var file = await ioc.StorageFile.OpenAsync(FileAccessMode.Read);
+ return file.AsStream();
/*}
var file = FileSystem.Current.GetFileFromPathAsync(ioc.Path).Result;
return file.OpenAsync(PCLStorage.FileAccess.Read).Result;*/
@@ -467,35 +469,36 @@ namespace ModernKeePassLibPCL.Serialization
return IocStream.WrapIfRequired(s);
}
#else
- public static Stream OpenWrite(IOConnectionInfo ioc)
+ public static async Task OpenWrite(IOConnectionInfo ioc)
{
RaiseIOAccessPreEvent(ioc, IOAccessType.Write);
- return OpenWriteLocal(ioc);
+ return await OpenWriteLocal(ioc);
}
#endif
- private static Stream OpenWriteLocal(IOConnectionInfo ioc)
+ private static async Task OpenWriteLocal(IOConnectionInfo ioc)
{
#if ModernKeePassLibPCL
- /*if (ioc.StorageFile != null)
+ /*if (ioc.StorageFile != null)
{*/
- return ioc.StorageFile.OpenAsync(FileAccessMode.ReadWrite).GetResults().AsStream();
- /*}
+ var file = await ioc.StorageFile.OpenAsync(FileAccessMode.ReadWrite);
+ return file.AsStream();
+ /*}
var file = FileSystem.Current.GetFileFromPathAsync(ioc.Path).Result;
return file.OpenAsync(FileAccess.ReadAndWrite).Result;*/
#else
return new FileStream(ioc.Path, FileMode.Create, FileAccess.Write,
FileShare.None);
#endif
- }
+ }
- public static bool FileExists(IOConnectionInfo ioc)
+ public static async Task FileExists(IOConnectionInfo ioc)
{
- return FileExists(ioc, false);
+ return await FileExists(ioc, false);
}
- public static bool FileExists(IOConnectionInfo ioc, bool bThrowErrors)
+ public static async Task FileExists(IOConnectionInfo ioc, bool bThrowErrors)
{
if(ioc == null) { Debug.Assert(false); return false; }
@@ -520,7 +523,7 @@ namespace ModernKeePassLibPCL.Serialization
try
{
- Stream s = OpenRead(ioc);
+ Stream s = await OpenRead(ioc);
if(s == null) throw new FileNotFoundException();
try { s.ReadByte(); }
@@ -540,13 +543,13 @@ namespace ModernKeePassLibPCL.Serialization
return true;
}
- public static void DeleteFile(IOConnectionInfo ioc)
+ public static async void DeleteFile(IOConnectionInfo ioc)
{
RaiseIOAccessPreEvent(ioc, IOAccessType.Delete);
#if ModernKeePassLibPCL
if (!ioc.IsLocalFile()) return;
- ioc.StorageFile?.DeleteAsync().GetResults();
+ await ioc.StorageFile?.DeleteAsync();
/*var file = FileSystem.Current.GetFileFromPathAsync(ioc.Path).Result;
file.DeleteAsync().RunSynchronously();*/
#else
@@ -581,13 +584,13 @@ namespace ModernKeePassLibPCL.Serialization
///
/// Source file path.
/// Target file path.
- public static void RenameFile(IOConnectionInfo iocFrom, IOConnectionInfo iocTo)
+ public static async void RenameFile(IOConnectionInfo iocFrom, IOConnectionInfo iocTo)
{
RaiseIOAccessPreEvent(iocFrom, iocTo, IOAccessType.Move);
#if ModernKeePassLibPCL
if (!iocFrom.IsLocalFile()) return;
- iocFrom.StorageFile?.RenameAsync(iocTo.Path).GetResults();
+ await iocFrom.StorageFile?.RenameAsync(iocTo.Path);
/*var file = FileSystem.Current.GetFileFromPathAsync(iocFrom.Path).Result;
file.MoveAsync(iocTo.Path).RunSynchronously();*/
#else
@@ -676,13 +679,13 @@ namespace ModernKeePassLibPCL.Serialization
catch(Exception) { Debug.Assert(false); }
}
#endif
- public static byte[] ReadFile(IOConnectionInfo ioc)
+ public static async Task ReadFile(IOConnectionInfo ioc)
{
Stream sIn = null;
MemoryStream ms = null;
try
{
- sIn = IOConnection.OpenRead(ioc);
+ sIn = await OpenRead(ioc);
if(sIn == null) return null;
ms = new MemoryStream();
diff --git a/ModernKeePassLib/Serialization/IOConnectionInfo.cs b/ModernKeePassLib/Serialization/IOConnectionInfo.cs
index 6d00cbc..6b0b1aa 100644
--- a/ModernKeePassLib/Serialization/IOConnectionInfo.cs
+++ b/ModernKeePassLib/Serialization/IOConnectionInfo.cs
@@ -32,6 +32,7 @@ using Windows.Storage;
using ModernKeePassLibPCL.Interfaces;
using ModernKeePassLibPCL.Utility;
+using System.Threading.Tasks;
namespace ModernKeePassLibPCL.Serialization
{
@@ -306,12 +307,15 @@ namespace ModernKeePassLibPCL.Serialization
public StorageFile StorageFile { get; set; }
- public bool CanProbablyAccess()
+ public async Task CanProbablyAccess()
{
#if ModernKeePassLibPCL
- if(IsLocalFile())
- //return (FileSystem.Current.GetFileFromPathAsync(m_strUrl).Result != null);
- return StorageFile.GetFileFromPathAsync(m_strUrl).GetResults() != null;
+ if (IsLocalFile())
+ {
+ //return (FileSystem.Current.GetFileFromPathAsync(m_strUrl).Result != null);
+ var file = await StorageFile.GetFileFromPathAsync(m_strUrl);
+ return file != null;
+ }
#else
if(IsLocalFile()) return File.Exists(m_strUrl);
#endif
diff --git a/ModernKeePassLib/Serialization/KdbxFile.Read.cs b/ModernKeePassLib/Serialization/KdbxFile.Read.cs
index 5f379ec..7f183be 100644
--- a/ModernKeePassLib/Serialization/KdbxFile.Read.cs
+++ b/ModernKeePassLib/Serialization/KdbxFile.Read.cs
@@ -57,10 +57,10 @@ namespace ModernKeePassLibPCL.Serialization
/// File to load.
/// Format specifier.
/// Status logger (optional).
- public void Load(string strFilePath, KdbxFormat kdbFormat, IStatusLogger slLogger)
+ public async void Load(string strFilePath, KdbxFormat kdbFormat, IStatusLogger slLogger)
{
IOConnectionInfo ioc = IOConnectionInfo.FromPath(strFilePath);
- Load(IOConnection.OpenRead(ioc), kdbFormat, slLogger);
+ Load(await IOConnection.OpenRead(ioc), kdbFormat, slLogger);
}
///
diff --git a/ModernKeePassLib/project.json b/ModernKeePassLib/project.json
index 191bdf8..f4f328d 100644
--- a/ModernKeePassLib/project.json
+++ b/ModernKeePassLib/project.json
@@ -6,7 +6,7 @@
"NETStandard.Library": "1.6.0",
"PInvoke.Windows.Core": "0.5.97",
"Splat": "2.0.0",
- "System.Runtime.Extensions": "4.3.0",
+ "System.Runtime.WindowsRuntime": "4.3.0",
"System.Xml.ReaderWriter": "4.3.0",
"System.Xml.XmlSerializer": "4.3.0",
"Validation": "2.4.15"
diff --git a/ModernKeePassLib/project.lock.json b/ModernKeePassLib/project.lock.json
index 6f57ce4..6cc2ca6 100644
--- a/ModernKeePassLib/project.lock.json
+++ b/ModernKeePassLib/project.lock.json
@@ -343,12 +343,12 @@
"ref/netstandard1.2/System.Runtime.dll": {}
}
},
- "System.Runtime.Extensions/4.3.0": {
+ "System.Runtime.Extensions/4.1.0": {
"type": "package",
"dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0",
- "Microsoft.NETCore.Targets": "1.1.0",
- "System.Runtime": "4.3.0"
+ "Microsoft.NETCore.Platforms": "1.0.1",
+ "Microsoft.NETCore.Targets": "1.0.1",
+ "System.Runtime": "4.1.0"
},
"compile": {
"ref/netstandard1.0/System.Runtime.Extensions.dll": {}
@@ -401,6 +401,17 @@
"ref/netstandard1.1/System.Runtime.Numerics.dll": {}
}
},
+ "System.Runtime.WindowsRuntime/4.3.0": {
+ "type": "package",
+ "dependencies": {
+ "System.IO": "4.3.0",
+ "System.Runtime": "4.3.0",
+ "System.Threading.Tasks": "4.3.0"
+ },
+ "compile": {
+ "ref/netstandard1.2/System.Runtime.WindowsRuntime.dll": {}
+ }
+ },
"System.Text.Encoding/4.3.0": {
"type": "package",
"dependencies": {
@@ -1973,8 +1984,8 @@
"system.runtime.nuspec"
]
},
- "System.Runtime.Extensions/4.3.0": {
- "sha512": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==",
+ "System.Runtime.Extensions/4.1.0": {
+ "sha512": "CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==",
"type": "package",
"files": [
"ThirdPartyNotices.txt",
@@ -2047,7 +2058,7 @@
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
- "system.runtime.extensions.4.3.0.nupkg.sha512",
+ "system.runtime.extensions.4.1.0.nupkg.sha512",
"system.runtime.extensions.nuspec"
]
},
@@ -2223,6 +2234,59 @@
"system.runtime.numerics.nuspec"
]
},
+ "System.Runtime.WindowsRuntime/4.3.0": {
+ "sha512": "xbgfgewneLCfKQfz0VzKsYDacZ680CudYw0uzj0bZ8ATpotkwicgtAsyJZ/J7/Dh2QIwpadjA2zLW/LFk7FKiA==",
+ "type": "package",
+ "files": [
+ "System.Runtime.WindowsRuntime.4.3.0.nupkg.sha512",
+ "System.Runtime.WindowsRuntime.nuspec",
+ "ThirdPartyNotices.txt",
+ "dotnet_library_license.txt",
+ "lib/portable-win8+wp8+wpa81/_._",
+ "lib/win8/_._",
+ "lib/wp80/_._",
+ "lib/wpa81/_._",
+ "ref/netcore50/System.Runtime.WindowsRuntime.dll",
+ "ref/netcore50/System.Runtime.WindowsRuntime.xml",
+ "ref/netcore50/de/System.Runtime.WindowsRuntime.xml",
+ "ref/netcore50/es/System.Runtime.WindowsRuntime.xml",
+ "ref/netcore50/fr/System.Runtime.WindowsRuntime.xml",
+ "ref/netcore50/it/System.Runtime.WindowsRuntime.xml",
+ "ref/netcore50/ja/System.Runtime.WindowsRuntime.xml",
+ "ref/netcore50/ko/System.Runtime.WindowsRuntime.xml",
+ "ref/netcore50/ru/System.Runtime.WindowsRuntime.xml",
+ "ref/netcore50/zh-hans/System.Runtime.WindowsRuntime.xml",
+ "ref/netcore50/zh-hant/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.0/System.Runtime.WindowsRuntime.dll",
+ "ref/netstandard1.0/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.0/de/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.0/es/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.0/fr/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.0/it/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.0/ja/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.0/ko/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.0/ru/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.0/zh-hans/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.0/zh-hant/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.2/System.Runtime.WindowsRuntime.dll",
+ "ref/netstandard1.2/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.2/de/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.2/es/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.2/fr/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.2/it/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.2/ja/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.2/ko/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.2/ru/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.2/zh-hans/System.Runtime.WindowsRuntime.xml",
+ "ref/netstandard1.2/zh-hant/System.Runtime.WindowsRuntime.xml",
+ "ref/portable-win8+wp8+wpa81/_._",
+ "ref/win8/_._",
+ "ref/wp80/_._",
+ "ref/wpa81/_._",
+ "runtimes/win8-aot/lib/netcore50/System.Runtime.WindowsRuntime.dll",
+ "runtimes/win8/lib/netstandard1.3/System.Runtime.WindowsRuntime.dll"
+ ]
+ },
"System.Text.Encoding/4.3.0": {
"sha512": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
"type": "package",
@@ -2859,7 +2923,7 @@
"NETStandard.Library >= 1.6.0",
"PInvoke.Windows.Core >= 0.5.97",
"Splat >= 2.0.0",
- "System.Runtime.Extensions >= 4.3.0",
+ "System.Runtime.WindowsRuntime >= 4.3.0",
"System.Xml.ReaderWriter >= 4.3.0",
"System.Xml.XmlSerializer >= 4.3.0",
"Validation >= 2.4.15"