Почему программа C# (MySQL Connector/NET, .NET 8.0) компилируется в командной строке с помощью csc, но не в Visual StudiC#

Место общения программистов C#
Ответить
Anonymous
 Почему программа C# (MySQL Connector/NET, .NET 8.0) компилируется в командной строке с помощью csc, но не в Visual Studi

Сообщение Anonymous »

Я начинающий программист. Я хочу работать в своей «Windows 10» с MySQL Community Server 8.4 из программы C# (платформа .NET 8.0). Я использую Visual Studio Community 2022. Я также использую MySQL Connector/NET 9.5.0.
Я использую два метода: 1) пишу код в стороннем редакторе кода и компилирую его из командной строки разработчика для VS 2022 с помощью csc.exe или 2) создаю проект в Visual Studio Community 2022 и компилирую его из этой среды. В первом случае всё получается, во втором нет.
Моя тестовая программа на C# в program.cs:

Код: Выделить всё

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}");
}
}
}
  • В командной строке:

Код: Выделить всё

>csc program.cs /r:MySql.Data.dll
>program
MySQL version : 8.4.7
  • В сообществе Visual Studio 2022:
Я создал консольный проект, используя платформу .NET 8.0. В файл program.cs я поместил код, идентичный приведенному выше. Я добавил ссылку на файл MySql.Data.dll в ветку «Зависимости» в обозревателе решений, как показано в документации. Однако после компиляции у меня возникла ошибка:

Код: Выделить всё

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
Мои вопросы: 1) почему в первом случае всё работает, а во втором получается ошибка? 2) как избавиться от ошибки во втором случае?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -prompt-wi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»