Метод Main() (в классе Program.cs) не доступен в ранее работавшем приложении.C#

Место общения программистов C#
Ответить
Anonymous
 Метод Main() (в классе Program.cs) не доступен в ранее работавшем приложении.

Сообщение Anonymous »

У меня есть решение, которое работает без проблем уже много лет. Program.cs основного проекта Startup (приложения WinForms) не менялся уже пару лет. Но недавно у меня возникли проблемы с запуском его в режиме отладки. Я думал, что решил проблему, очистив проекты и удалив файлы bin и obj. Однако сегодня мне удалось запустить и отладить проект лишь дважды. (Второй раз был после восстановления Visual Studio (но с тех пор снова произошел сбой).
При попытке запустить отладку или выпуск я получаю следующую информацию:

Программа «[25648] MyApp.exe» завершила работу с кодом 0 (0x0).

Как продолжить устранение проблемы?
Не достигается даже 1-я строка класса или 1-я строка метода Main() (с использованием точки останова):

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

private static string test1 = "STOP HERE";

mutex = new Mutex(true, AppName, out bool createdNew);
Вот начало моего файла Program.sc (без изменений с февраля 2023 года, за исключением строки, которую я добавил с помощью «STOP HERE» для целей отладки).

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

static class Program
{

private static string test1 = "STOP HERE";

const string AppName = "MyApp";
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

private static Mutex mutex = null;

/// 
/// The main entry point for the application.
/// 
[STAThread]
static void Main(string[] args)
{
mutex = new Mutex(true, AppName, out bool createdNew);

if (!createdNew)
{
MessageBox.Show("MyApp is already running.", KwikConstants.AppName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); //app is already running! Exiting the application
Application.Exit();
}
Больше кода здесь.......
}
....
Он написан на C# использование VS 2022 v17.12.3
.Net 8.5 Framework
Сценариев PreBuild нет.
Я пробовал в x64, x86 и любом процессоре.
Я обновил все пакеты NuGet.
Полное решение собирается без ошибок.
Операционная система моего компьютера — Windows 11 23H2
Я пытался добавить .exe в исключение антивируса и даже деактивировал его. AV во время тестирования.
Дополнительная информация. Похоже, это проблема только с .Net Framework. Вот проблема с совершенно новым консольным приложением:
Изображение

Консольное приложение .Net Core работает нормально, точки останова срабатывают.
Изображение

Будем очень признательны за любые предложения по устранению этой проблемы.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -working-a
Ответить

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

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

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

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

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