Compare commits
6 Commits
ab915ed962
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f11be713d0 | ||
![]() |
2150bad16d | ||
![]() |
3ecbf97c76 | ||
![]() |
ccf519442e | ||
![]() |
97a2564ff2 | ||
![]() |
b40a1938cd |
Binary file not shown.
@@ -1,12 +1,37 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "C:\\c\u002B\u002B c#\\PMCProjekt\\PMCProjekt\\",
|
||||
"Documents": [],
|
||||
"WorkspaceRootPath": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{7B328FFA-E441-4FED-8B99-C2B2453AA3E2}|PMCProjekt\\PMCProjekt.csproj|c:\\users\\bib\\documents\\pmc_projekt\\pmcprojekt\\pmcprojekt\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{7B328FFA-E441-4FED-8B99-C2B2453AA3E2}|PMCProjekt\\PMCProjekt.csproj|solutionrelative:pmcprojekt\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"DocumentGroups": []
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 0,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "Program.cs",
|
||||
"DocumentMoniker": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\Program.cs",
|
||||
"RelativeDocumentMoniker": "PMCProjekt\\Program.cs",
|
||||
"ToolTip": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\Program.cs",
|
||||
"RelativeToolTip": "PMCProjekt\\Program.cs",
|
||||
"ViewState": "AQIAAAMAAAAAAAAAAAAAAE0AAAAJAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-08-30T09:51:48.989Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,83 +1,303 @@
|
||||
//Aufgabenstellung
|
||||
//
|
||||
//1.Import
|
||||
//
|
||||
//Als Teil des Entwicklungsteams sollen Sie einen Import für neue Nutzer der jeweiligen Kunden entwickeln.
|
||||
//Die Kunden schicken zu diesem Zweck CSV-Dateien mit den Daten von neuen Nutzern.
|
||||
//Diese Daten müssen in die bestehenden Datentabellen eingespielt werden.
|
||||
//Dafür sind folgende Anforderungen formuliert:
|
||||
//
|
||||
// • Ein Sachbearbeiter ruft eine Konsolen-App auf, in welcher er die Datei und die
|
||||
// Kundennummer des Kunden als Parameter übergibt: Die Beispieldatei hat den Namen "import_yutani.csv" und
|
||||
// gehört zum Kunden mit der Nummer "K2-002"
|
||||
//
|
||||
// • Die Datei hat den Aufbau:
|
||||
// - Ein Nutzer mit Anrede, Vorname, Nachname und Geburtsdatum
|
||||
// - Ggf. Adresse: Straße mit Hausnummer, PLZ, Stadt
|
||||
// - Ggf. E-Mail
|
||||
// - Ggf. eine oder mehrere Telefonnummern: Vorwahl ohne führende 0 und Nummer
|
||||
//
|
||||
// • Ein Nutzer darf für einen Kunden nicht mehrmals importiert werden.
|
||||
//
|
||||
// • Die Daten sollen wie folgt validiert werden:
|
||||
// ○ Geburtsdatum: TT.MM.JJJJ
|
||||
// ○ Valide E-Mail-Adresse
|
||||
// ○ PLZ: exakt 5 Nummern
|
||||
// ○ Telefonnummer 3 bis 5 Nummern für die Vorwahl und 4 bis 10 Nummern für die Hauptnummer. Keine Sonderzeichen
|
||||
//
|
||||
// • Nicht valide Datensätze von Nutzern sollen in einem Protokoll erfasst werden, ebenso bereits vorhandene Nutzer.
|
||||
// Der komplette Datensatz eines Nutzers darf dann nicht importiert werden
|
||||
using MySql.Data;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Collections.Generic;
|
||||
using MySql.Data.MySqlClient;
|
||||
using MySqlX.XDevAPI;
|
||||
using System.Data.Common;
|
||||
using System.Reflection.PortableExecutable;
|
||||
using System.Xml;
|
||||
|
||||
namespace PMCProjekt
|
||||
{
|
||||
internal class Program
|
||||
internal class Programm
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
MySql.Data.MySqlClient.MySqlConnection myConnection;
|
||||
string myConnectionString;
|
||||
//set the correct values for your server, user, password and database name
|
||||
myConnectionString = "server=localhost;uid=root;pwd=root;database=import_export";
|
||||
string dateiPfad = "/Schule/PMC/import_yutani.csv";
|
||||
string protokollPfad = "/Schule/PMC/ungueltige_Daten.csv";
|
||||
|
||||
try
|
||||
// MySQL-Verbindungszeichenfolge
|
||||
string connectionString = "server=localhost;uid=root;pwd=root;database=import_export";
|
||||
|
||||
// Abfrage der Kundennummer vom Benutzer
|
||||
Console.Write("Bitte geben Sie die Kundennummer (clientno) ein: ");
|
||||
string clientno = Console.ReadLine();
|
||||
|
||||
int clientId = HoleClientId(connectionString, clientno);
|
||||
|
||||
if (clientId == 0)
|
||||
{
|
||||
myConnection = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
|
||||
//open a connection
|
||||
myConnection.Open();
|
||||
Console.WriteLine("Ungültige Kundennummer. Programm wird beendet.");
|
||||
return;
|
||||
}
|
||||
|
||||
// create a MySQL command and set the SQL statement with parameters
|
||||
MySqlCommand myCommand = new MySqlCommand();
|
||||
myCommand.Connection = myConnection;
|
||||
myCommand.CommandText = @"SELECT * FROM user";
|
||||
//myCommand.Parameters.AddWithValue("@code", "12");
|
||||
List<List<string>> alleDatensaetze = new List<List<string>>();
|
||||
List<string> aktuellerDatensatz = new List<string>();
|
||||
|
||||
// execute the command and read the results
|
||||
using MySqlDataReader myReader = myCommand.ExecuteReader();
|
||||
|
||||
while (myReader.Read())
|
||||
// Überprüfen, ob die Datei existiert
|
||||
if (File.Exists(dateiPfad))
|
||||
{
|
||||
using (StreamReader sr = new StreamReader(dateiPfad))
|
||||
{
|
||||
int id = myReader.GetInt32("id");
|
||||
string name = myReader.GetString("firstname");
|
||||
string nachname = myReader.GetString("lastname");
|
||||
Console.WriteLine(id + " " + nachname + " " + name);
|
||||
string zeile;
|
||||
while ((zeile = sr.ReadLine()) != null)
|
||||
{
|
||||
if (zeile.StartsWith("Frau") || zeile.StartsWith("Herr") || zeile.StartsWith("Divers"))
|
||||
{
|
||||
// Wenn ein neuer Datensatz beginnt, speichere den vorherigen
|
||||
if (aktuellerDatensatz.Count > 0)
|
||||
{
|
||||
alleDatensaetze.Add(new List<string>(aktuellerDatensatz));
|
||||
aktuellerDatensatz.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
// Füge die aktuelle Zeile dem Datensatz hinzu
|
||||
aktuellerDatensatz.Add(zeile);
|
||||
}
|
||||
|
||||
// Füge den letzten Datensatz hinzu, falls vorhanden
|
||||
if (aktuellerDatensatz.Count > 0)
|
||||
{
|
||||
alleDatensaetze.Add(aktuellerDatensatz);
|
||||
}
|
||||
}
|
||||
|
||||
myConnection.Close();
|
||||
// Verarbeitung aller gesammelten Datensätze
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
connection.Open();
|
||||
|
||||
foreach (var datensatz in alleDatensaetze)
|
||||
{
|
||||
VerarbeiteDatensatz(datensatz, protokollPfad, connection, clientId);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException ex)
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Datei nicht gefunden.");
|
||||
}
|
||||
}
|
||||
|
||||
static int HoleClientId(string connectionString, string clientno)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
connection.Open();
|
||||
string query = "SELECT id FROM client WHERE clientno = @ClientNo";
|
||||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||||
{
|
||||
command.Parameters.AddWithValue("@ClientNo", clientno);
|
||||
var result = command.ExecuteScalar();
|
||||
return result != null ? Convert.ToInt32(result) : 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void VerarbeiteDatensatz(List<string> datensatz, string protokollPfad, MySqlConnection connection, int clientId)
|
||||
{
|
||||
string gesamteZeile = string.Join(";", datensatz);
|
||||
string[] werte = gesamteZeile.Split(';');
|
||||
|
||||
string anrede = "";
|
||||
string vorname = "";
|
||||
string nachname = "";
|
||||
string geburtsdatum = "";
|
||||
string strasse = "";
|
||||
string plz = "";
|
||||
string stadt = "";
|
||||
string email = "";
|
||||
List<string> telefonnummern = new List<string>();
|
||||
|
||||
for (int i = 0; i < werte.Length; i++)
|
||||
{
|
||||
if (werte[i] == "Frau" || werte[i] == "Herr" || werte[i] == "Divers")
|
||||
{
|
||||
anrede = werte[i];
|
||||
vorname = werte[i + 1];
|
||||
nachname = werte[i + 2];
|
||||
geburtsdatum = werte[i + 3];
|
||||
i += 3;
|
||||
}
|
||||
else if (werte[i] == "Adresse")
|
||||
{
|
||||
strasse = werte[i + 1];
|
||||
plz = werte[i + 2];
|
||||
stadt = werte[i + 3];
|
||||
i += 3;
|
||||
}
|
||||
else if (werte[i] == "E-Mail")
|
||||
{
|
||||
email = werte[i + 1];
|
||||
i += 1;
|
||||
}
|
||||
else if (werte[i] == "Telefon")
|
||||
{
|
||||
telefonnummern.Add($"{werte[i + 1]} {werte[i + 2]}");
|
||||
i += 2;
|
||||
}
|
||||
}
|
||||
|
||||
bool gueltig = true;
|
||||
|
||||
if (!PruefeGeburtstag(geburtsdatum))
|
||||
{
|
||||
Console.WriteLine($"Ungültiges Geburtsdatum: {geburtsdatum}");
|
||||
gueltig = false;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(email) && !PruefeEmail(email))
|
||||
{
|
||||
Console.WriteLine($"Ungültige E-Mail-Adresse: {email}");
|
||||
gueltig = false;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(plz) && !PruefePLZ(plz))
|
||||
{
|
||||
Console.WriteLine($"Ungültige Postleitzahl: {plz}");
|
||||
gueltig = false;
|
||||
}
|
||||
|
||||
foreach (var telefon in telefonnummern)
|
||||
{
|
||||
if (!PruefeTelefon(telefon))
|
||||
{
|
||||
Console.WriteLine($"Ungültige Telefonnummer: {telefon}");
|
||||
gueltig = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (gueltig)
|
||||
{
|
||||
int userId = GeneriereNaechsteId("user", connection);
|
||||
EinfuegenInUserTabelle(userId, anrede, vorname, nachname, geburtsdatum, connection, clientId);
|
||||
|
||||
EinfuegenInAddressTabelle(GeneriereNaechsteId("address", connection), userId, strasse, plz, stadt, connection);
|
||||
EinfuegenInEmailTabelle(GeneriereNaechsteId("email", connection), userId, email, connection);
|
||||
foreach (var telefon in telefonnummern)
|
||||
{
|
||||
string[] telefonTeile = telefon.Split(' ');
|
||||
EinfuegenInPhoneTabelle(GeneriereNaechsteId("phone", connection), userId, telefonTeile[0], telefonTeile[1], connection);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ProtokolliereUngueltigeDaten(datensatz, protokollPfad);
|
||||
}
|
||||
}
|
||||
|
||||
static int GeneriereNaechsteId(string tabelle, MySqlConnection connection)
|
||||
{
|
||||
string query = $"SELECT IFNULL(MAX(id), 0) + 1 FROM {tabelle}";
|
||||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||||
{
|
||||
return Convert.ToInt32(command.ExecuteScalar());
|
||||
}
|
||||
}
|
||||
|
||||
static void EinfuegenInUserTabelle(int userId, string anrede, string vorname, string nachname, string geburtsdatum, MySqlConnection connection, int clientId)
|
||||
{
|
||||
string query = "INSERT INTO user (id, clientId, genderId, firstname, lastname, birthdate, created) " +
|
||||
"VALUES (@Id, @ClientId, @GenderId, @Vorname, @Nachname, @Geburtsdatum, @Created)";
|
||||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||||
{
|
||||
command.Parameters.AddWithValue("@Id", userId);
|
||||
command.Parameters.AddWithValue("@ClientId", clientId);
|
||||
command.Parameters.AddWithValue("@GenderId", GetGenderId(anrede, connection));
|
||||
command.Parameters.AddWithValue("@Vorname", vorname);
|
||||
command.Parameters.AddWithValue("@Nachname", nachname);
|
||||
command.Parameters.AddWithValue("@Geburtsdatum", DateTime.Parse(geburtsdatum));
|
||||
command.Parameters.AddWithValue("@Created", DateTime.Now);
|
||||
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
|
||||
static int GetGenderId(string anrede, MySqlConnection connection)
|
||||
{
|
||||
string query = "SELECT id FROM gender WHERE description = @Anrede";
|
||||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||||
{
|
||||
command.Parameters.AddWithValue("@Anrede", anrede);
|
||||
return Convert.ToInt32(command.ExecuteScalar());
|
||||
}
|
||||
}
|
||||
|
||||
static void EinfuegenInAddressTabelle(int addressId, int userId, string strasse, string plz, string stadt, MySqlConnection connection)
|
||||
{
|
||||
string query = "INSERT INTO address (id, userId, street, postalcode, city) " +
|
||||
"VALUES (@Id, @UserId, @Strasse, @PLZ, @Stadt)";
|
||||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||||
{
|
||||
command.Parameters.AddWithValue("@Id", addressId);
|
||||
command.Parameters.AddWithValue("@UserId", userId);
|
||||
command.Parameters.AddWithValue("@Strasse", strasse);
|
||||
command.Parameters.AddWithValue("@PLZ", plz);
|
||||
command.Parameters.AddWithValue("@Stadt", stadt);
|
||||
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
|
||||
static void EinfuegenInEmailTabelle(int emailId, int userId, string email, MySqlConnection connection)
|
||||
{
|
||||
string query = "INSERT INTO email (id, userId, email) VALUES (@Id, @UserId, @Email)";
|
||||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||||
{
|
||||
command.Parameters.AddWithValue("@Id", emailId);
|
||||
command.Parameters.AddWithValue("@UserId", userId);
|
||||
command.Parameters.AddWithValue("@Email", email);
|
||||
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
|
||||
static void EinfuegenInPhoneTabelle(int phoneId, int userId, string phoneprefix, string phonenumber, MySqlConnection connection)
|
||||
{
|
||||
string query = "INSERT INTO phone (id, userId, phoneprefix, phonenumber) VALUES (@Id, @UserId, @PhonePrefix, @PhoneNumber)";
|
||||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||||
{
|
||||
command.Parameters.AddWithValue("@Id", phoneId);
|
||||
command.Parameters.AddWithValue("@UserId", userId);
|
||||
command.Parameters.AddWithValue("@PhonePrefix", phoneprefix);
|
||||
command.Parameters.AddWithValue("@PhoneNumber", phonenumber);
|
||||
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
|
||||
static bool PruefeGeburtstag(string geburtsdatum)
|
||||
{
|
||||
string pattern = @"^\d{2}\.\d{2}\.\d{4}$";
|
||||
return Regex.IsMatch(geburtsdatum, pattern);
|
||||
}
|
||||
|
||||
static bool PruefeEmail(string email)
|
||||
{
|
||||
string pattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$";
|
||||
return Regex.IsMatch(email, pattern);
|
||||
}
|
||||
|
||||
static bool PruefePLZ(string plz)
|
||||
{
|
||||
string pattern = @"^\d{5}$";
|
||||
return Regex.IsMatch(plz, pattern);
|
||||
}
|
||||
|
||||
static bool PruefeTelefon(string telefon)
|
||||
{
|
||||
string pattern = @"^\d{3,5}\s?\d{4,10}$";
|
||||
return Regex.IsMatch(telefon, pattern);
|
||||
}
|
||||
|
||||
static void ProtokolliereUngueltigeDaten(List<string> daten, string protokollPfad)
|
||||
{
|
||||
using (StreamWriter sw = new StreamWriter(protokollPfad, true))
|
||||
{
|
||||
foreach (var zeile in daten)
|
||||
{
|
||||
sw.WriteLine(zeile);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("PMCProjekt")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e07e4dea071a35b06e962046985cf1cd31297aa")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2150bad16d353de9bebea8f2feae3039c472b9e6")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("PMCProjekt")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("PMCProjekt")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@@ -1 +1 @@
|
||||
5131e033b58c501fd00152c6e10aa3c9848e6c9048af06f45bb3e21b5d72b61b
|
||||
b181418c207b62c0f6b18dd50a2d5203ab8bd79309967fd8ba3cf377b6e89772
|
||||
|
@@ -8,6 +8,6 @@ build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = PMCProjekt
|
||||
build_property.ProjectDir = C:\c++ c#\PMCProjekt\PMCProjekt\PMCProjekt\
|
||||
build_property.ProjectDir = C:\Users\bib\Documents\PMC_Projekt\PMCProjekt\PMCProjekt\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
|
Binary file not shown.
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"C:\\c++ c#\\PMCProjekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj": {}
|
||||
"C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"C:\\c++ c#\\PMCProjekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj": {
|
||||
"C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\c++ c#\\PMCProjekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
|
||||
"projectUniqueName": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
|
||||
"projectName": "PMCProjekt",
|
||||
"projectPath": "C:\\c++ c#\\PMCProjekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
|
||||
"projectPath": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
|
||||
"packagesPath": "C:\\Users\\bib\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\c++ c#\\PMCProjekt\\PMCProjekt\\PMCProjekt\\obj\\",
|
||||
"outputPath": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\bib\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
@@ -66,7 +66,7 @@
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.304/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\bib\.nuget\packages\</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.2</NuGetToolVersion>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.10.2</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\bib\.nuget\packages\" />
|
||||
|
@@ -1791,11 +1791,11 @@
|
||||
"project": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\c++ c#\\PMCProjekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
|
||||
"projectUniqueName": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
|
||||
"projectName": "PMCProjekt",
|
||||
"projectPath": "C:\\c++ c#\\PMCProjekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
|
||||
"projectPath": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
|
||||
"packagesPath": "C:\\Users\\bib\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\c++ c#\\PMCProjekt\\PMCProjekt\\PMCProjekt\\obj\\",
|
||||
"outputPath": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\bib\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
@@ -1850,7 +1850,7 @@
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.304/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "hmjpczB20rO9+XIWVQE6LffNwpIbJnVyQpbAXGcthVX7MhdlK2/SeQpWsyghUPz07HV2wtAYW2lx3ET7P7TDlg==",
|
||||
"dgSpecHash": "/54hNmRIYgQ=",
|
||||
"success": true,
|
||||
"projectFilePath": "C:\\c++ c#\\PMCProjekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
|
||||
"projectFilePath": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\PMCProjekt.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"C:\\Users\\bib\\.nuget\\packages\\bouncycastle.cryptography\\2.2.1\\bouncycastle.cryptography.2.2.1.nupkg.sha512",
|
||||
"C:\\Users\\bib\\.nuget\\packages\\google.protobuf\\3.25.1\\google.protobuf.3.25.1.nupkg.sha512",
|
||||
|
Reference in New Issue
Block a user