Using AppContext.BaseDirectory - as Assembly.Location might not be available in single-file applications.
This commit is contained in:
@@ -208,7 +208,7 @@ namespace Microsoft.EntityFrameworkCore
|
|||||||
if (!Path.IsPathRooted(path))
|
if (!Path.IsPathRooted(path))
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(options.AbsoluteBasePath))
|
if (string.IsNullOrWhiteSpace(options.AbsoluteBasePath))
|
||||||
options.AbsoluteBasePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
options.AbsoluteBasePath = AppContext.BaseDirectory;
|
||||||
|
|
||||||
path = Path.Combine(options.AbsoluteBasePath, path);
|
path = Path.Combine(options.AbsoluteBasePath, path);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -521,7 +521,7 @@ namespace AMWD.Common.Tests.Utilities
|
|||||||
public void ShouldCreateDefaultFile()
|
public void ShouldCreateDefaultFile()
|
||||||
{
|
{
|
||||||
// arrange
|
// arrange
|
||||||
string executingAssemblyDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
string executingAssemblyDir = AppContext.BaseDirectory;
|
||||||
string filePath = Path.Combine(executingAssemblyDir, "crypto.key");
|
string filePath = Path.Combine(executingAssemblyDir, "crypto.key");
|
||||||
|
|
||||||
// act
|
// act
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Reflection;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace System.Security.Cryptography
|
namespace System.Security.Cryptography
|
||||||
@@ -19,16 +18,14 @@ namespace System.Security.Cryptography
|
|||||||
/// <param name="keyFile">The (absolute) path to the crypto key file. On <c>null</c> the file 'crypto.key' at the executing assembly location will be used.</param>
|
/// <param name="keyFile">The (absolute) path to the crypto key file. On <c>null</c> the file 'crypto.key' at the executing assembly location will be used.</param>
|
||||||
public CryptographyHelper(string keyFile = null)
|
public CryptographyHelper(string keyFile = null)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(keyFile))
|
|
||||||
keyFile = "crypto.key";
|
|
||||||
|
|
||||||
if (!Path.IsPathRooted(keyFile))
|
|
||||||
{
|
|
||||||
string dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
|
||||||
keyFile = Path.Combine(dir, keyFile);
|
|
||||||
}
|
|
||||||
masterKeyFile = keyFile;
|
masterKeyFile = keyFile;
|
||||||
|
|
||||||
|
if (string.IsNullOrWhiteSpace(masterKeyFile))
|
||||||
|
masterKeyFile = "crypto.key";
|
||||||
|
|
||||||
|
if (!Path.IsPathRooted(masterKeyFile))
|
||||||
|
masterKeyFile = Path.Combine(AppContext.BaseDirectory, masterKeyFile);
|
||||||
|
|
||||||
string pw = File.Exists(masterKeyFile) ? File.ReadAllText(masterKeyFile) : null;
|
string pw = File.Exists(masterKeyFile) ? File.ReadAllText(masterKeyFile) : null;
|
||||||
if (string.IsNullOrWhiteSpace(pw))
|
if (string.IsNullOrWhiteSpace(pw))
|
||||||
File.WriteAllText(masterKeyFile, GetRandomString(64));
|
File.WriteAllText(masterKeyFile, GetRandomString(64));
|
||||||
|
|||||||
Reference in New Issue
Block a user