Updated to use Encryption for smtp_password, and added some QOL features

This commit is contained in:
unknown 2024-05-24 22:29:09 -04:00
parent daf994e347
commit ee3b809e13
40 changed files with 426 additions and 346 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.vs/Scan2Email/v17/.suo Normal file

Binary file not shown.

View File

@ -1,7 +1,6 @@
using System; using System;
using System.Windows.Forms; using System.Windows.Forms;
namespace SendEmail namespace SendEmail
{ {
public partial class Form1 : Form public partial class Form1 : Form
@ -10,7 +9,7 @@ namespace SendEmail
* Form1 is the main window for Send2Email * Form1 is the main window for Send2Email
*/ */
#region UI #region UI
public Form1() //Autogenerated Code Block public Form1()
{ {
InitializeComponent(); InitializeComponent();
} }
@ -42,9 +41,7 @@ namespace SendEmail
// Error Message for invalid email // Error Message for invalid email
MessageBox.Show(email + " is not a valid email address.\r\nPlease enter a valid email address."); MessageBox.Show(email + " is not a valid email address.\r\nPlease enter a valid email address.");
} }
} }
#endregion #endregion
// Check if enter key is pressed in email address input // Check if enter key is pressed in email address input

View File

@ -18,7 +18,7 @@ namespace SendEmail
int wrongCount = 0; // Counts how many times the password is entered incorrectly int wrongCount = 0; // Counts how many times the password is entered incorrectly
const int LIMIT = 5; // The amount of times a password can be tried before exiting const int LIMIT = 5; // The amount of times a password can be tried before exiting
public Form2() //Autogenerated Code Block public Form2()
{ {
InitializeComponent(); InitializeComponent();
} }
@ -27,7 +27,8 @@ namespace SendEmail
private void PassButtonClick(object sender, EventArgs e) private void PassButtonClick(object sender, EventArgs e)
{ {
string input = textBox1.Text; string input = textBox1.Text;
if (input == Program.smtp_pass) //If password is correct string encryptedInput = Program.Encrypt(input); // Encrypt the user input
if (encryptedInput == Program.smtp_pass) // If encrypted password is correct
{ {
this.Hide(); // Hide Form2 this.Hide(); // Hide Form2
var form3 = new Form3(); // Create Form3 var form3 = new Form3(); // Create Form3

View File

@ -24,7 +24,7 @@ namespace SendEmail
// Default info in the info textbox // Default info in the info textbox
string defaultInfo = "Helpful information about each section will display here when you hover over a textbox with your mouse."; string defaultInfo = "Helpful information about each section will display here when you hover over a textbox with your mouse.";
public Form3() //Automatically generated codeblock public Form3()
{ {
InitializeComponent(); InitializeComponent();
SetInfoBox(defaultInfo); SetInfoBox(defaultInfo);
@ -43,7 +43,7 @@ namespace SendEmail
hostTB.Text = Program.smtp_host; hostTB.Text = Program.smtp_host;
portTB.Text = Program.smtp_port.ToString(); portTB.Text = Program.smtp_port.ToString();
emailTB.Text = Program.smtp_user; emailTB.Text = Program.smtp_user;
passwordTB.Text = Program.smtp_pass; passwordTB.Text = Program.Decrypt(Program.smtp_pass); // Decrypt password for display
fromTB.Text = Program.mail_from; fromTB.Text = Program.mail_from;
subjectTB.Text = Program.mail_subject; subjectTB.Text = Program.mail_subject;
@ -63,7 +63,7 @@ namespace SendEmail
switch (holdName) // Switch through the possible input fields and sets the output to the correct values switch (holdName) // Switch through the possible input fields and sets the output to the correct values
{ {
case "hostTB": case "hostTB":
output = "SMTP Host: SMTP Host. At the time of creation, we utalize Google's SMTP server located at smtp.google.com"; output = "SMTP Host: SMTP Host. At the time of creation, we utilize Google's SMTP server located at smtp.google.com";
break; break;
case "portTB": case "portTB":
output = "SMTP Port: SMTP Port"; output = "SMTP Port: SMTP Port";
@ -101,13 +101,14 @@ namespace SendEmail
#region Save/Load Configuration #region Save/Load Configuration
// Save the configuration data, will overwrite existing settings
// Save the configuration data, will overwrite existing settings // Save the configuration data, will overwrite existing settings
private void SaveConfig(object sender, EventArgs e) private void SaveConfig(object sender, EventArgs e)
{ {
string cfg_host = hostTB.Text; string cfg_host = hostTB.Text;
string string_cfg_port = portTB.Text; string string_cfg_port = portTB.Text;
string cfg_user = emailTB.Text; string cfg_user = emailTB.Text;
string cfg_pass = passwordTB.Text; string cfg_pass = Program.Encrypt(passwordTB.Text); // Encrypt the password
string cfg_from = fromTB.Text; string cfg_from = fromTB.Text;
string cfg_subject = subjectTB.Text; string cfg_subject = subjectTB.Text;
@ -126,29 +127,52 @@ namespace SendEmail
// Write Config file to Program.appPath (default is Appdata/Local/Send2Email) // Write Config file to Program.appPath (default is Appdata/Local/Send2Email)
WriteFile(json, Program.configName, Program.configFileExt); WriteFile(json, Program.configName, Program.configFileExt);
// Close Form3 and open Form1
this.Hide();
var form1 = new Form1();
form1.Closed += (s, args) => this.Close();
form1.Show();
} }
public static bool LoadConfig() // Boolean method, returns true or false to whatever called LoadConfig public static bool LoadConfig() // Boolean method, returns true or false to whatever called LoadConfig
{ {
//Config filepath // Config filepath in AppData
string cfg = Program.appPath + "/" + Program.configFileName; string cfgFilePath = Path.Combine(Program.appPath, Program.configFileName);
// Example config filepath in the bin directory of the project
string exampleCfgFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "example.cfg.json");
//Check if config file exists // Check if config file exists in AppData
bool cExist = File.Exists(cfg); bool cExist = File.Exists(cfgFilePath);
if (!cExist) // If a config doesn't exist if (!cExist) // If a config doesn't exist
{ {
// Check if example config exists in the bin directory of the project
if (File.Exists(exampleCfgFilePath))
{
// Ensure the directory exists
if (!Directory.Exists(Program.appPath))
{
Directory.CreateDirectory(Program.appPath);
}
// Copy the example config to the AppData config file path
File.Copy(exampleCfgFilePath, cfgFilePath);
}
else
{
// Display an error message before closing the application
MessageBox.Show("A critical error has occurred. Example configuration file is missing. Please contact IT to resolve this issue.");
return false; // Return false for LoadConfig boolean return false; // Return false for LoadConfig boolean
} }
else //Config file does exist }
{
// Create an array to store the configuration file line by line // Create an array to store the configuration file line by line
string[] cfgFile = ReadFile("cfg", "json"); string[] cfgFile = ReadFile("cfg", "json");
string cfgData = ConvertStringArray(cfgFile); string cfgData = ConvertStringArray(cfgFile);
// Get the first line of our configuration // Get the first line of our configuration
Config config = JsonConvert.DeserializeObject<Config>(cfgData); Config config = JsonConvert.DeserializeObject<Config>(cfgData);
Program.smtp_host = config.SMTP_Host; Program.smtp_host = config.SMTP_Host;
@ -165,7 +189,7 @@ namespace SendEmail
return true; return true;
} }
}
#endregion #endregion
@ -174,7 +198,6 @@ namespace SendEmail
// Create a string array with the lines of text // Create a string array with the lines of text
public static void WriteFile(string[] data, string fileName, string fileExtension) public static void WriteFile(string[] data, string fileName, string fileExtension)
{ {
string temp = ""; string temp = "";
string file = fileName + "." + fileExtension; string file = fileName + "." + fileExtension;
@ -189,7 +212,6 @@ namespace SendEmail
} }
} }
public static string[] ReadFile(string fileName, string fileExtension) public static string[] ReadFile(string fileName, string fileExtension)
{ {
string temp = ""; string temp = "";
@ -223,10 +245,6 @@ namespace SendEmail
} }
#region JSON Config #region JSON Config
/* Sources
* https://www.newtonsoft.com/json/help/html/SerializingJSON.htm
* https://www.newtonsoft.com/json/help/html/SerializeWithJsonSerializerToFile.htm
*/
public class Config public class Config
{ {
public string SMTP_Host { get; set; } public string SMTP_Host { get; set; }
@ -256,11 +274,8 @@ namespace SendEmail
File_Extensions = file_extensions; File_Extensions = file_extensions;
} }
} }
#endregion #endregion
#endregion #endregion
} }
} }

View File

@ -5,6 +5,7 @@ using System.Windows.Forms;
using System.Globalization; using System.Globalization;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Collections.Generic; using System.Collections.Generic;
using System.Security.Cryptography;
namespace SendEmail namespace SendEmail
{ {
@ -33,23 +34,34 @@ namespace SendEmail
public static string mail_body; public static string mail_body;
public static string mail_delivery; public static string mail_delivery;
public static string file_extensions; public static string file_extensions;
// Encryption keys (8 bytes for DES)
public static string key_secret = "8byteKey";
public static string key_public = "byte8Key";
#endregion #endregion
#region Main Method #region Main Method
[STAThread] [STAThread]
static void Main() //Main method, this runs as soon as the software is started static void Main()
{ {
// Set up the basic requirements for a WinForms application // Set up the basic requirements for a WinForms application
Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.SetHighDpiMode(HighDpiMode.SystemAware);
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
bool cont = Form3.LoadConfig(); // Load Configuration method bool cont = Form3.LoadConfig(); // Load Configuration method
if (cont) // If Config exists if (cont) // If Config exists
{
if (string.IsNullOrEmpty(smtp_pass)) // Check if password is empty
{
// Run first time setup
Application.Run(new Form3());
}
else
{ {
Application.Run(new Form1()); // Open Form1 (Main Window) Application.Run(new Form1()); // Open Form1 (Main Window)
} }
}
else // If Config Doesn't Exist else // If Config Doesn't Exist
{ {
// Display an error message before closing the application // Display an error message before closing the application
@ -59,12 +71,85 @@ namespace SendEmail
} }
#endregion #endregion
#region Encryption Methods
public static string Encrypt(string input)
{
try
{
string textToEncrypt = input;
string ToReturn = "";
byte[] secretkeyByte = System.Text.Encoding.UTF8.GetBytes(key_secret);
byte[] publickeybyte = System.Text.Encoding.UTF8.GetBytes(key_public);
byte[] inputbyteArray = System.Text.Encoding.UTF8.GetBytes(textToEncrypt);
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
des.Mode = CipherMode.CBC;
des.Padding = PaddingMode.PKCS7;
des.Key = publickeybyte;
des.IV = secretkeyByte;
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(inputbyteArray, 0, inputbyteArray.Length);
cs.FlushFinalBlock();
ToReturn = Convert.ToBase64String(ms.ToArray());
}
}
}
return ToReturn;
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex.InnerException);
}
}
public static string Decrypt(string input)
{
try
{
string textToDecrypt = input;
string ToReturn = "";
byte[] privatekeyByte = System.Text.Encoding.UTF8.GetBytes(key_secret);
byte[] publickeybyte = System.Text.Encoding.UTF8.GetBytes(key_public);
byte[] inputbyteArray = Convert.FromBase64String(textToDecrypt.Replace(" ", "+"));
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
des.Mode = CipherMode.CBC;
des.Padding = PaddingMode.PKCS7;
des.Key = publickeybyte;
des.IV = privatekeyByte;
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(inputbyteArray, 0, inputbyteArray.Length);
cs.FlushFinalBlock();
ToReturn = System.Text.Encoding.UTF8.GetString(ms.ToArray());
}
}
}
return ToReturn;
}
catch (Exception ae)
{
throw new Exception(ae.Message, ae.InnerException);
}
}
#endregion
#region Email Methods #region Email Methods
#region IsValidEmail #region IsValidEmail
// Checks if the email address entered is valid. // Checks if the email address entered is valid.
//Source https://docs.microsoft.com/en-us/dotnet/standard/base-types/how-to-verify-that-strings-are-in-valid-email-format public static bool IsValidEmail(string email)
public static bool IsValidEmail(string email) //Accepts an email string and returns true if email is valid
{ {
if (string.IsNullOrWhiteSpace(email)) // Null strings aren't valid so return false if (string.IsNullOrWhiteSpace(email)) // Null strings aren't valid so return false
return false; return false;
@ -72,8 +157,7 @@ namespace SendEmail
try try
{ {
// Normalize the domain // Normalize the domain
email = Regex.Replace(email, @"(@)(.+)$", DomainMapper, email = Regex.Replace(email, @"(@)(.+)$", DomainMapper, RegexOptions.None, TimeSpan.FromMilliseconds(200));
RegexOptions.None, TimeSpan.FromMilliseconds(200));
// Examines the domain part of the email and normalizes it. // Examines the domain part of the email and normalizes it.
string DomainMapper(Match match) string DomainMapper(Match match)
@ -98,9 +182,7 @@ namespace SendEmail
try try
{ {
return Regex.IsMatch(email, return Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$", RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250));
@"^[^@\s]+@[^@\s]+\.[^@\s]+$",
RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250));
} }
catch (RegexMatchTimeoutException) catch (RegexMatchTimeoutException)
{ {
@ -114,7 +196,6 @@ namespace SendEmail
// returns filepaths with matching extensions // returns filepaths with matching extensions
public static string[] Attachments() public static string[] Attachments()
{ {
string[] extensions; string[] extensions;
List<string> output = new List<string>(); // Holds the output List<string> output = new List<string>(); // Holds the output
@ -147,17 +228,14 @@ namespace SendEmail
output.Add(files[i]); // Add it to the output output.Add(files[i]); // Add it to the output
} }
} }
} }
return output.ToArray(); // Return a list of all attachments return output.ToArray(); // Return a list of all attachments
} }
#endregion #endregion
#region Send Email #region Send Email
public static void Send(string sendTo)
public static void Send(string sendTo) //Send email function. This is where most of the work starts
{ {
string[] getAttachments = Attachments(); // Gets all valid attachment files in Pictures folder string[] getAttachments = Attachments(); // Gets all valid attachment files in Pictures folder
@ -192,136 +270,8 @@ namespace SendEmail
MessageBox.Show("A critical error has occured please contact IT \r\n" + ex.ToString()); MessageBox.Show("A critical error has occured please contact IT \r\n" + ex.ToString());
} }
} }
#endregion #endregion
#endregion #endregion
} }
} }
#region [ARCHIVE]
/* This code is commented out, but it might be
* useful if we ever need to work on the software
* again in the future, so I've kept it archived. */
#region [ARCHIVE] Encryption, Decryption
/*
//Methods used to encrypt and decrypt a string
//Source https://www.delftstack.com/howto/csharp/encrypt-and-decrypt-a-string-in-csharp/
public static string Encrypt(string input)
{
try
{
string textToEncrypt = input;
string ToReturn = "";
byte[] secretkeyByte = { };
secretkeyByte = System.Text.Encoding.UTF8.GetBytes(key_secret);
byte[] publickeybyte = { };
publickeybyte = System.Text.Encoding.UTF8.GetBytes(key_public);
MemoryStream ms = null;
CryptoStream cs = null;
byte[] inputbyteArray = System.Text.Encoding.UTF8.GetBytes(textToEncrypt);
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
ms = new MemoryStream();
cs = new CryptoStream(ms, des.CreateEncryptor(publickeybyte, secretkeyByte), CryptoStreamMode.Write);
cs.Write(inputbyteArray, 0, inputbyteArray.Length);
cs.FlushFinalBlock();
ToReturn = Convert.ToBase64String(ms.ToArray());
}
return ToReturn;
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex.InnerException);
}
}
static string Decrypt(string input)
{
try
{
string textToDecrypt = input;
string ToReturn = "";
byte[] privatekeyByte = { };
privatekeyByte = System.Text.Encoding.UTF8.GetBytes(key_secret);
byte[] publickeybyte = { };
publickeybyte = System.Text.Encoding.UTF8.GetBytes(key_public);
MemoryStream ms = null;
CryptoStream cs = null;
byte[] inputbyteArray = new byte[textToDecrypt.Replace(" ", "+").Length];
inputbyteArray = Convert.FromBase64String(textToDecrypt.Replace(" ", "+"));
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
ms = new MemoryStream();
cs = new CryptoStream(ms, des.CreateDecryptor(publickeybyte, privatekeyByte), CryptoStreamMode.Write);
cs.Write(inputbyteArray, 0, inputbyteArray.Length);
cs.FlushFinalBlock();
Encoding encoding = Encoding.UTF8;
ToReturn = encoding.GetString(ms.ToArray());
}
return ToReturn;
}
catch (Exception ae)
{
throw new Exception(ae.Message, ae.InnerException);
}
}
*/
#endregion
#region [ARCHIVE] Encrypt/Decrypt Files
/*
public static void WriteEncryptedFile(string[] data, string fileName, string fileExtension)
{
string temp = "";
string file = fileName + "." + fileExtension;
// Write the string array to a new file named "WriteLines.txt".
using (StreamWriter outputFile = new StreamWriter(Path.Combine(appPath, file)))
{
foreach (string line in data)
{
temp = Encrypt(line);
}
outputFile.WriteLine(temp);
}
}
public static string[] ReadEncryptedFile(string fileName, string fileExtension)
{
string temp = "";
string file = fileName + "." + fileExtension;
string[] lines = System.IO.File.ReadAllLines(Path.Combine(appPath, file));
string[] output = new string[lines.Length];
for (int i = 0; i < lines.Length; i++)
{
temp = Decrypt(lines[i]);
output[i] = temp;
}
return output;
}
*/
#endregion
#region [ARCHIVE] Keygen
/*
//Used origonally do generate public and secret keys
public static string GenerateKey(int length)
{
//Random
Random rand = new Random();
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
return new string(Enumerable.Repeat(chars, length).Select(s => s[rand.Next(s.Length)]).ToArray());
}
*/
#endregion
#endregion

View File

@ -0,0 +1,11 @@
{
"SMTP_Host": "smtp.gmail.com",
"SMTP_Port": 587,
"SMTP_User": "email@company.com",
"SMTP_Pass": "",
"Mail_From": "email@company.com",
"Mail_Subject": "Mail Subject Text",
"Mail_Body": "Mail Body Text",
"Mail_Delivery": "Mail Delivery Text + {destination_email}",
"File_Extensions": "jpg, jpeg, png, gif, bmp, tif, pdf"
}

View File

@ -1,8 +1,8 @@
{ {
"runtimeOptions": { "runtimeOptions": {
"additionalProbingPaths": [ "additionalProbingPaths": [
"C:\\Users\\dylan\\.dotnet\\store\\|arch|\\|tfm|", "C:\\Users\\Dylan Windows PC\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\dylan\\.nuget\\packages", "C:\\Users\\Dylan Windows PC\\.nuget\\packages",
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
] ]
} }

View File

@ -4,6 +4,9 @@
"framework": { "framework": {
"name": "Microsoft.WindowsDesktop.App", "name": "Microsoft.WindowsDesktop.App",
"version": "3.1.0" "version": "3.1.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
} }
} }
} }

View File

@ -0,0 +1,11 @@
{
"SMTP_Host": "smtp.gmail.com",
"SMTP_Port": 587,
"SMTP_User": "email@company.com",
"SMTP_Pass": "",
"Mail_From": "email@company.com",
"Mail_Subject": "Mail Subject Text",
"Mail_Body": "Mail Body Text",
"Mail_Delivery": "Mail Delivery Text + {destination_email}",
"File_Extensions": "jpg, jpeg, png, gif, bmp, tif, pdf"
}

View File

@ -2,7 +2,7 @@
"SMTP_Host": "smtp.gmail.com", "SMTP_Host": "smtp.gmail.com",
"SMTP_Port": 587, "SMTP_Port": 587,
"SMTP_User": "email@company.com", "SMTP_User": "email@company.com",
"SMTP_Pass": "smtp_password", "SMTP_Pass": "",
"Mail_From": "email@company.com", "Mail_From": "email@company.com",
"Mail_Subject": "Mail Subject Text", "Mail_Subject": "Mail Subject Text",
"Mail_Body": "Mail Body Text", "Mail_Body": "Mail Body Text",

View File

@ -15,7 +15,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Scan2Email")] [assembly: System.Reflection.AssemblyCompanyAttribute("Scan2Email")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+daf994e3473892e2d3f416244465215be628e416")]
[assembly: System.Reflection.AssemblyProductAttribute("Scan2Email")] [assembly: System.Reflection.AssemblyProductAttribute("Scan2Email")]
[assembly: System.Reflection.AssemblyTitleAttribute("Scan2Email")] [assembly: System.Reflection.AssemblyTitleAttribute("Scan2Email")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
07f00c0f81c43c2c4e24c14b87a8cf9fcd35fe67 012917e426dd4f3ab17677a1a189225eee36982a44ce084e05d182ed8f9b1e80

View File

@ -1,3 +1,11 @@
is_global = true is_global = true
build_property.ApplicationManifest =
build_property.StartupObject =
build_property.ApplicationDefaultFont =
build_property.ApplicationHighDpiMode =
build_property.ApplicationUseCompatibleTextRendering =
build_property.ApplicationVisualStyles =
build_property.RootNamespace = Scan2Email build_property.RootNamespace = Scan2Email
build_property.ProjectDir = \\mcls-DC03\users\dylan\GitHub\SendEmail\Send2Email\SendEmail\ build_property.ProjectDir = Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@ -1 +1 @@
c46a9cdf9b4bc131f1b5d8da92cf24590a1f5100 663a68d4f76aa8d3e0ab9b6a3bd8ce903ffff62452c27d8734b97480011a5afc

View File

@ -30,3 +30,35 @@
\\mcls-DC03\users\dylan\GitHub\SendEmail\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.dll \\mcls-DC03\users\dylan\GitHub\SendEmail\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.dll
\\mcls-DC03\users\dylan\GitHub\SendEmail\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.pdb \\mcls-DC03\users\dylan\GitHub\SendEmail\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.pdb
\\mcls-DC03\users\dylan\GitHub\SendEmail\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.genruntimeconfig.cache \\mcls-DC03\users\dylan\GitHub\SendEmail\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.genruntimeconfig.cache
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Scan2Email.exe
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Scan2Email.deps.json
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Scan2Email.runtimeconfig.json
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Scan2Email.runtimeconfig.dev.json
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Scan2Email.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Scan2Email.pdb
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.AspNetCore.Http.Abstractions.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.AspNetCore.Http.Features.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.Extensions.Configuration.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.Extensions.Configuration.Abstractions.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.Extensions.Configuration.FileExtensions.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.Extensions.Configuration.Json.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.Extensions.Configuration.UserSecrets.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.Extensions.DependencyInjection.Abstractions.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.Extensions.FileProviders.Abstractions.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.Extensions.FileProviders.Physical.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.Extensions.FileSystemGlobbing.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Microsoft.Extensions.Primitives.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\bin\Release\netcoreapp3.1\Newtonsoft.Json.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.csproj.AssemblyReference.cache
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\SendEmail.Form1.resources
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\SendEmail.Form2.resources
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\SendEmail.Form3.resources
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.csproj.GenerateResource.cache
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.GeneratedMSBuildEditorConfig.editorconfig
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.AssemblyInfoInputs.cache
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.AssemblyInfo.cs
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.csproj.CoreCompileInputs.cache
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.csproj.CopyComplete
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.dll
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.pdb
Z:\Users\Software\Git\Send2Email\Send2Email\SendEmail\obj\Release\netcoreapp3.1\Scan2Email.genruntimeconfig.cache

View File

@ -1 +1 @@
3816421fb6ad83599c18b582e47497ca8906c103 8c1bdf5dee4c07deb3124682605c284dcc39ab22791eb91fe37fe0e17dd7212f

View File

@ -1,23 +1,23 @@
{ {
"format": 1, "format": 1,
"restore": { "restore": {
"\\\\mcls-DC03\\users\\dylan\\GitHub\\SendEmail\\Send2Email\\SendEmail\\Scan2Email.csproj": {} "Z:\\Users\\Software\\Git\\Send2Email\\Send2Email\\SendEmail\\Scan2Email.csproj": {}
}, },
"projects": { "projects": {
"\\\\mcls-DC03\\users\\dylan\\GitHub\\SendEmail\\Send2Email\\SendEmail\\Scan2Email.csproj": { "Z:\\Users\\Software\\Git\\Send2Email\\Send2Email\\SendEmail\\Scan2Email.csproj": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
"projectUniqueName": "\\\\mcls-DC03\\users\\dylan\\GitHub\\SendEmail\\Send2Email\\SendEmail\\Scan2Email.csproj", "projectUniqueName": "Z:\\Users\\Software\\Git\\Send2Email\\Send2Email\\SendEmail\\Scan2Email.csproj",
"projectName": "Scan2Email", "projectName": "Scan2Email",
"projectPath": "\\\\mcls-DC03\\users\\dylan\\GitHub\\SendEmail\\Send2Email\\SendEmail\\Scan2Email.csproj", "projectPath": "Z:\\Users\\Software\\Git\\Send2Email\\Send2Email\\SendEmail\\Scan2Email.csproj",
"packagesPath": "C:\\Users\\dylan\\.nuget\\packages\\", "packagesPath": "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\",
"outputPath": "\\\\mcls-DC03\\users\\dylan\\GitHub\\SendEmail\\Send2Email\\SendEmail\\obj\\", "outputPath": "Z:\\Users\\Software\\Git\\Send2Email\\Send2Email\\SendEmail\\obj\\",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
"fallbackFolders": [ "fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
], ],
"configFilePaths": [ "configFilePaths": [
"C:\\Users\\dylan\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Users\\Dylan Windows PC\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
], ],
@ -67,7 +67,8 @@
"net47", "net47",
"net471", "net471",
"net472", "net472",
"net48" "net48",
"net481"
], ],
"assetTargetFallback": true, "assetTargetFallback": true,
"warn": true, "warn": true,
@ -79,7 +80,7 @@
"privateAssets": "none" "privateAssets": "none"
} }
}, },
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.401\\RuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.101\\RuntimeIdentifierGraph.json"
} }
} }
} }

View File

@ -5,17 +5,14 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile> <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot> <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\dylan\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders> <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Dylan Windows PC\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.11.0</NuGetToolVersion> <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.8.0</NuGetToolVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\dylan\.nuget\packages\" /> <SourceRoot Include="C:\Users\Dylan Windows PC\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" /> <SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup> </ItemGroup>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\3.1.13\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\3.1.13\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.props')" /> <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\3.1.13\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\3.1.13\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.props')" />
</ImportGroup> </ImportGroup>

View File

@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?> <?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\3.1.13\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\3.1.13\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.targets')" /> <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\3.1.13\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\3.1.13\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.targets')" />
</ImportGroup> </ImportGroup>

View File

@ -9,10 +9,14 @@
"System.Text.Encodings.Web": "4.5.0" "System.Text.Encodings.Web": "4.5.0"
}, },
"compile": { "compile": {
"lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": {} "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": {} "lib/netstandard2.0/Microsoft.AspNetCore.Http.Abstractions.dll": {
"related": ".xml"
}
} }
}, },
"Microsoft.AspNetCore.Http.Features/2.2.0": { "Microsoft.AspNetCore.Http.Features/2.2.0": {
@ -21,10 +25,14 @@
"Microsoft.Extensions.Primitives": "2.2.0" "Microsoft.Extensions.Primitives": "2.2.0"
}, },
"compile": { "compile": {
"lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": {} "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": {} "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll": {
"related": ".xml"
}
} }
}, },
"Microsoft.Extensions.Configuration/3.1.13": { "Microsoft.Extensions.Configuration/3.1.13": {
@ -33,10 +41,14 @@
"Microsoft.Extensions.Configuration.Abstractions": "3.1.13" "Microsoft.Extensions.Configuration.Abstractions": "3.1.13"
}, },
"compile": { "compile": {
"lib/netcoreapp3.1/Microsoft.Extensions.Configuration.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netcoreapp3.1/Microsoft.Extensions.Configuration.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.dll": {
"related": ".xml"
}
} }
}, },
"Microsoft.Extensions.Configuration.Abstractions/3.1.13": { "Microsoft.Extensions.Configuration.Abstractions/3.1.13": {
@ -45,10 +57,14 @@
"Microsoft.Extensions.Primitives": "3.1.13" "Microsoft.Extensions.Primitives": "3.1.13"
}, },
"compile": { "compile": {
"lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Abstractions.dll": {
"related": ".xml"
}
} }
}, },
"Microsoft.Extensions.Configuration.FileExtensions/3.1.13": { "Microsoft.Extensions.Configuration.FileExtensions/3.1.13": {
@ -58,10 +74,14 @@
"Microsoft.Extensions.FileProviders.Physical": "3.1.13" "Microsoft.Extensions.FileProviders.Physical": "3.1.13"
}, },
"compile": { "compile": {
"lib/netcoreapp3.1/Microsoft.Extensions.Configuration.FileExtensions.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.FileExtensions.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netcoreapp3.1/Microsoft.Extensions.Configuration.FileExtensions.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.FileExtensions.dll": {
"related": ".xml"
}
} }
}, },
"Microsoft.Extensions.Configuration.Json/3.1.13": { "Microsoft.Extensions.Configuration.Json/3.1.13": {
@ -71,10 +91,14 @@
"Microsoft.Extensions.Configuration.FileExtensions": "3.1.13" "Microsoft.Extensions.Configuration.FileExtensions": "3.1.13"
}, },
"compile": { "compile": {
"lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Json.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Json.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Json.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.Json.dll": {
"related": ".xml"
}
} }
}, },
"Microsoft.Extensions.Configuration.UserSecrets/3.1.13": { "Microsoft.Extensions.Configuration.UserSecrets/3.1.13": {
@ -83,10 +107,14 @@
"Microsoft.Extensions.Configuration.Json": "3.1.13" "Microsoft.Extensions.Configuration.Json": "3.1.13"
}, },
"compile": { "compile": {
"lib/netcoreapp3.1/Microsoft.Extensions.Configuration.UserSecrets.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.UserSecrets.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netcoreapp3.1/Microsoft.Extensions.Configuration.UserSecrets.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Configuration.UserSecrets.dll": {
"related": ".xml"
}
}, },
"build": { "build": {
"build/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.props": {}, "build/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.props": {},
@ -96,10 +124,14 @@
"Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": { "Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": {
"type": "package", "type": "package",
"compile": { "compile": {
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"related": ".xml"
}
} }
}, },
"Microsoft.Extensions.FileProviders.Abstractions/3.1.13": { "Microsoft.Extensions.FileProviders.Abstractions/3.1.13": {
@ -108,10 +140,14 @@
"Microsoft.Extensions.Primitives": "3.1.13" "Microsoft.Extensions.Primitives": "3.1.13"
}, },
"compile": { "compile": {
"lib/netcoreapp3.1/Microsoft.Extensions.FileProviders.Abstractions.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netcoreapp3.1/Microsoft.Extensions.FileProviders.Abstractions.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"related": ".xml"
}
} }
}, },
"Microsoft.Extensions.FileProviders.Physical/3.1.13": { "Microsoft.Extensions.FileProviders.Physical/3.1.13": {
@ -121,46 +157,66 @@
"Microsoft.Extensions.FileSystemGlobbing": "3.1.13" "Microsoft.Extensions.FileSystemGlobbing": "3.1.13"
}, },
"compile": { "compile": {
"lib/netcoreapp3.1/Microsoft.Extensions.FileProviders.Physical.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.FileProviders.Physical.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netcoreapp3.1/Microsoft.Extensions.FileProviders.Physical.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.FileProviders.Physical.dll": {
"related": ".xml"
}
} }
}, },
"Microsoft.Extensions.FileSystemGlobbing/3.1.13": { "Microsoft.Extensions.FileSystemGlobbing/3.1.13": {
"type": "package", "type": "package",
"compile": { "compile": {
"lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {} "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {} "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
"related": ".xml"
}
} }
}, },
"Microsoft.Extensions.Primitives/3.1.13": { "Microsoft.Extensions.Primitives/3.1.13": {
"type": "package", "type": "package",
"compile": { "compile": {
"lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll": {} "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll": {
"related": ".xml"
}
} }
}, },
"Newtonsoft.Json/13.0.1": { "Newtonsoft.Json/13.0.1": {
"type": "package", "type": "package",
"compile": { "compile": {
"lib/netstandard2.0/Newtonsoft.Json.dll": {} "lib/netstandard2.0/Newtonsoft.Json.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netstandard2.0/Newtonsoft.Json.dll": {} "lib/netstandard2.0/Newtonsoft.Json.dll": {
"related": ".xml"
}
} }
}, },
"System.Text.Encodings.Web/4.5.0": { "System.Text.Encodings.Web/4.5.0": {
"type": "package", "type": "package",
"compile": { "compile": {
"lib/netstandard2.0/System.Text.Encodings.Web.dll": {} "lib/netstandard2.0/System.Text.Encodings.Web.dll": {
"related": ".xml"
}
}, },
"runtime": { "runtime": {
"lib/netstandard2.0/System.Text.Encodings.Web.dll": {} "lib/netstandard2.0/System.Text.Encodings.Web.dll": {
"related": ".xml"
}
} }
} }
} }
@ -412,23 +468,23 @@
] ]
}, },
"packageFolders": { "packageFolders": {
"C:\\Users\\dylan\\.nuget\\packages\\": {}, "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
}, },
"project": { "project": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
"projectUniqueName": "\\\\mcls-DC03\\users\\dylan\\GitHub\\SendEmail\\Send2Email\\SendEmail\\Scan2Email.csproj", "projectUniqueName": "Z:\\Users\\Software\\Git\\Send2Email\\Send2Email\\SendEmail\\Scan2Email.csproj",
"projectName": "Scan2Email", "projectName": "Scan2Email",
"projectPath": "\\\\mcls-DC03\\users\\dylan\\GitHub\\SendEmail\\Send2Email\\SendEmail\\Scan2Email.csproj", "projectPath": "Z:\\Users\\Software\\Git\\Send2Email\\Send2Email\\SendEmail\\Scan2Email.csproj",
"packagesPath": "C:\\Users\\dylan\\.nuget\\packages\\", "packagesPath": "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\",
"outputPath": "\\\\mcls-DC03\\users\\dylan\\GitHub\\SendEmail\\Send2Email\\SendEmail\\obj\\", "outputPath": "Z:\\Users\\Software\\Git\\Send2Email\\Send2Email\\SendEmail\\obj\\",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
"fallbackFolders": [ "fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
], ],
"configFilePaths": [ "configFilePaths": [
"C:\\Users\\dylan\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Users\\Dylan Windows PC\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
], ],
@ -478,7 +534,8 @@
"net47", "net47",
"net471", "net471",
"net472", "net472",
"net48" "net48",
"net481"
], ],
"assetTargetFallback": true, "assetTargetFallback": true,
"warn": true, "warn": true,
@ -490,7 +547,7 @@
"privateAssets": "none" "privateAssets": "none"
} }
}, },
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.401\\RuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.101\\RuntimeIdentifierGraph.json"
} }
} }
} }

View File

@ -1,23 +1,23 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "gV9v1Cdij6I8kGMHNK1j/vhoLpiwiuJK9Hym6N5GOx8hJ6g6Xbcc3VxEAdESJAmbF9SW85UtL+Oc6gt6xc54/w==", "dgSpecHash": "BSQKXoo3MpX0OtWH1WUAbG/cC9mx0rGjhOmvRquk7U9DAbeE/z/haJrtoizAsPtlejOn3FrsST/NzvboodLG9Q==",
"success": true, "success": true,
"projectFilePath": "\\\\mcls-DC03\\users\\dylan\\GitHub\\SendEmail\\Send2Email\\SendEmail\\Scan2Email.csproj", "projectFilePath": "Z:\\Users\\Software\\Git\\Send2Email\\Send2Email\\SendEmail\\Scan2Email.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.aspnetcore.http.abstractions\\2.2.0\\microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.aspnetcore.http.abstractions\\2.2.0\\microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.aspnetcore.http.features\\2.2.0\\microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.aspnetcore.http.features\\2.2.0\\microsoft.aspnetcore.http.features.2.2.0.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.extensions.configuration\\3.1.13\\microsoft.extensions.configuration.3.1.13.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.extensions.configuration\\3.1.13\\microsoft.extensions.configuration.3.1.13.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\3.1.13\\microsoft.extensions.configuration.abstractions.3.1.13.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\3.1.13\\microsoft.extensions.configuration.abstractions.3.1.13.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\3.1.13\\microsoft.extensions.configuration.fileextensions.3.1.13.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\3.1.13\\microsoft.extensions.configuration.fileextensions.3.1.13.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.extensions.configuration.json\\3.1.13\\microsoft.extensions.configuration.json.3.1.13.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.extensions.configuration.json\\3.1.13\\microsoft.extensions.configuration.json.3.1.13.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\3.1.13\\microsoft.extensions.configuration.usersecrets.3.1.13.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\3.1.13\\microsoft.extensions.configuration.usersecrets.3.1.13.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\3.1.13\\microsoft.extensions.fileproviders.abstractions.3.1.13.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\3.1.13\\microsoft.extensions.fileproviders.abstractions.3.1.13.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\3.1.13\\microsoft.extensions.fileproviders.physical.3.1.13.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\3.1.13\\microsoft.extensions.fileproviders.physical.3.1.13.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\3.1.13\\microsoft.extensions.filesystemglobbing.3.1.13.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\3.1.13\\microsoft.extensions.filesystemglobbing.3.1.13.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\microsoft.extensions.primitives\\3.1.13\\microsoft.extensions.primitives.3.1.13.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\microsoft.extensions.primitives\\3.1.13\\microsoft.extensions.primitives.3.1.13.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512", "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512",
"C:\\Users\\dylan\\.nuget\\packages\\system.text.encodings.web\\4.5.0\\system.text.encodings.web.4.5.0.nupkg.sha512" "C:\\Users\\Dylan Windows PC\\.nuget\\packages\\system.text.encodings.web\\4.5.0\\system.text.encodings.web.4.5.0.nupkg.sha512"
], ],
"logs": [] "logs": []
} }