Warum wird ein C#-Programm (MySQL Connector/NET, .NET 8.0) an der Eingabeaufforderung mit csc kompiliert, aber nicht in C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Warum wird ein C#-Programm (MySQL Connector/NET, .NET 8.0) an der Eingabeaufforderung mit csc kompiliert, aber nicht in

Post by Anonymous »

Ich bin ein unerfahrener Programmierer. Ich möchte in meinem „Windows 10“ mit MySQL Community Server 8.4 aus einem C#-Programm (Plattform .NET 8.0) arbeiten. Ich verwende die Visual Studio Community 2022. Ich verwende auch MySQL Connector/NET 9.5.0.
Ich verwende zwei Methoden: 1) Ich schreibe den Code in einem Code-Editor eines Drittanbieters und kompiliere ihn über die Developer-Eingabeaufforderung für VS 2022 mit csc.exe, oder 2) ich erstelle ein Projekt in Visual Studio Community 2022 und kompiliere es aus dieser Umgebung. Im ersten Fall klappt alles, im zweiten Fall nicht.
Mein Test-C#-Programm in program.cs:

Code: Select all

using System;
using MySql.Data.MySqlClient;

namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
//Console.WriteLine("Hello, World!");
string cs = "server=localhost;userid=s;password=1234567;database=ilyadb";
using var con = new MySqlConnection(cs);
con.Open();
Console.WriteLine($"MySQL version : {con.ServerVersion}");
}
}
}
  • An der Eingabeaufforderung:

Code: Select all

>csc program.cs /r:MySql.Data.dll
>program
MySQL version : 8.4.7
  • In Visual Studio Community 2022:
Ich habe ein Konsolenprojekt mit der Plattform .NET 8.0 erstellt. In die Datei program.cs habe ich den Code eingefügt, der mit dem oben genannten identisch ist. Ich habe einen Link zur Datei MySql.Data.dll zum Zweig Abhängigkeiten im Projektmappen-Explorer hinzugefügt, wie in der Dokumentation gezeigt. Nach dem Kompilieren erhielt ich jedoch eine Fehlermeldung:

Code: Select all

Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly 'System.Security.Permissions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Не удается найти указанный файл.
File name: 'System.Security.Permissions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
at MySql.Data.MySqlClient.MySqlConnection.AssertPermissions()
at MySql.Data.MySqlClient.MySqlConnection.OpenAsync(Boolean execAsync, CancellationToken cancellationToken)
at MySql.Data.MySqlClient.MySqlConnection.Open()
at ConsoleApp1.Program.Main(String[] args) in D:\Академия ТОП\ПС, Технология доступа к БД ADO.NET\ConsoleApp1\Program.cs:line 13
Meine Fragen: 1) Warum funktioniert im ersten Fall alles, im zweiten Fall stellt sich jedoch ein Fehler heraus? 2) Wie kann der Fehler im zweiten Fall behoben werden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post