Перейти к содержимому

Как запустить консольное приложение без visual studio

  • автор:

Как запустить metro-приложение без Visual Studio

Создал тестовое приложение — в Visual Studio все отлично работает. Нажимаю компилировать и все запускается. Захотелось мне попробовать программу на другом компе — и облом! exe файл не запускается. Пишет

Это приложение может работать только в контексте контейнера приложения 

введите сюда описание изображения

Как собрать приложение в один единый файл, ну или как вообще запускаются metro приложения?*

Отслеживать

7,797 13 13 золотых знаков 25 25 серебряных знаков 55 55 бронзовых знаков

Как Запустить приложение WinForms C# на другом компьютере без Visual Studio — C#?

Здравствуйте, уважаемые эксперты.
В Visual Studio 2015 создано приложение WinForms для вывода на дисплей изображения с ip-камер.
Необходимые библиотеки устанавливаются на комп с помощью спец софта для камер, отдельные необходимые dll лежат в папке с проектом. Требуемая версия .Net 4.
Microsoft Visual C++ 2005-2008-2010-2012-2013-2017 Redistributable Package Hybrid стоит.
Система Windows 8.1, х64.

На моем компе все прекрасно работает. Пытаюсь запустить .exe на целевой машине, где стоит .Net 4.5.2, Microsoft Visual C++ 2005-2008-2010-2012-2013-2015, система Windows 8, х64, софт ip-камер стоит. Программа вообще не хочет запускаться, даже никакой ошибки не выдает.

Я запустил на виртуальной машине систему Windows 8.1, х64, софт ip-камер стоит, Microsoft Visual C++ 2005-2008-2010-2012-2013-2017 Redistributable Package Hybrid стоит. При запуске экзешника вылетает ошибка

Сигнатура проблемы:
Имя события проблемы: CLR20r3
Сигнатура проблемы 01: Camcorder.exe
Сигнатура проблемы 02: 1.0.0.0
Сигнатура проблемы 03: 59f172d6
Сигнатура проблемы 04: Camcorder
Сигнатура проблемы 05: 1.0.0.0
Сигнатура проблемы 06: 59f172d6
Сигнатура проблемы 07: 1f
Сигнатура проблемы 08: 16
Сигнатура проблемы 09: System.DllNotFoundException
Версия ОС: 6.3.9600.2.0.0.256.48
Код языка: 1049
Дополнительные сведения 1: f73b
Дополнительные сведения 2: f73bba61db694b225255c1f07cd06508
Дополнительные сведения 3: b4e5
Дополнительные сведения 4: b4e5ef6bbc543bd1d0663422f4da4f89

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
go.microsoft.com/fwlink/?linkid=280262

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt

Обработка исключений есть, ничего не отлавливается, даже это не помогает

public MainForm() < AppDomain currentDomain = AppDomain.CurrentDomain; currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler); // Добавить обработчик событий для обработки исключений потока пользовательского интерфейса Application.ThreadException += new ThreadExceptionEventHandler(Form1_UIThreadException); . >static void MyHandler(object sender, UnhandledExceptionEventArgs args) < Exception e = (Exception)args.ExceptionObject; Log.Write(e); MessageBox.Show("MyHandler caught : " + e.Message); MessageBox.Show("Runtime terminating: ", args.IsTerminating.ToString()); > // Handle the UI exceptions by showing a dialog box, and asking the user whether // or not they wish to abort execution. private static void Form1_UIThreadException(object sender, ThreadExceptionEventArgs t) < DialogResult result = DialogResult.Cancel; try < result = ShowThreadExceptionDialog("Windows Forms Error", t.Exception); >catch < try < MessageBox.Show("Fatal Windows Forms Error", "Fatal Windows Forms Error", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Stop); >finally < Application.Exit(); >> // Exits the program when the user clicks Abort. if (result == DialogResult.Abort) Application.Exit(); > // Creates the error message and displays it. private static DialogResult ShowThreadExceptionDialog(string title, Exception e)

Помогите решить проблему.

  • Вопрос задан более трёх лет назад
  • 3818 просмотров

2 комментария

Простой 2 комментария

Руководство. Создание консольного приложения .NET с помощью Visual Studio

В этом руководстве показано, как создать и запустить консольное приложение .NET с помощью Visual Studio 2022.

Предварительные условия

  • Предварительная версия Visual Studio 2022 с установленной рабочей нагрузкой разработки классических приложений .NET. Пакет SDK для .NET 8 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.

Создание приложения

Создайте проект консольного приложения .NET с именем HelloWorld.

  1. Запустите Visual Studio 2022.
  2. На начальной странице выберите Создать проект. Create a new project button selected on the Visual Studio start page
  3. На странице Создание проекта введите в поле поиска консоль. Затем выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон консольного приложения и нажмите кнопку «Далее«. Create a new project window with filters selected

Совет Если вы не видите шаблоны .NET, вероятно, у вас не установлена требуемая рабочая нагрузка. В сообщении Не удается найти то, что ищете? выберите ссылку Установка других средств и компонентов. Откроется Visual Studio Installer. Убедитесь, что у вас установлена рабочая нагрузка Разработка классических приложений .NET.

Configure your new project window with Project name, location, and solution name fields

  • В диалоговом окне Настройка нового проекта в поле Имя проекта введите HelloWorld. Теперь щелкните Далее.
  • В диалоговом окне Дополнительные сведения выполните следующие действия.
    • Выберите .NET 8 (предварительная версия).
    • Выберите «Не использовать операторы верхнего уровня».
    • Выберите Создать.

    Шаблон создает простое приложение, отображающее «Hello, World!» в окне консоли. Код находится в файле Program.cs или Program.vb:

    namespace HelloWorld; internal class Program < static void Main(string[] args) < Console.WriteLine("Hello, World!"); >> 
    Imports System Module Program Sub Main(args As String()) Console.WriteLine("Hello World!") End Sub End Module 

    Если нужный язык не отображается, измените выбор языка в верхней части страницы.

    Код определяет класс Program с одним методом Main , который принимает массив String в качестве аргумента. Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.

    C# имеет функцию с именем операторов верхнего уровня, которая позволяет опустить Program класс и Main метод. В этом руководстве эта функция не используется. Независимо от того, используете ли вы его в программах, это вопрос предпочтения стиля.

    Выполнить приложение

    Console window showing Hello World Press any key to continue

    1. Нажмите клавиши CTRL + F5 , чтобы запустить программу без отладки. Откроется окно консоли с текстом «Hello, World!» на экране. (Или «Hello World!» без запятой в шаблоне проекта Visual Basic.)
    2. Для закрытия окна консоли нажмите любую клавишу.

    Улучшение приложения

    Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.

      В Program.cs или Program.vb замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:

    Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"Hello, , on at !"); Console.Write($"Press any key to exit. "); Console.ReadKey(true); 
    Console.WriteLine("What is your name?") Dim name = Console.ReadLine() Dim currentDate = DateTime.Now Console.WriteLine($"Hello, , on at ") Console.Write($"Press any key to exit. ") Console.ReadKey(True) 

    Console window with modified program output

    Этот код отображает запрос в окне консоли и ожидает, чтобы пользователь ввел строку текста и нажал клавишу ВВОД . Приложение сохраняет полученную строку в переменной с именем name . Оно также получает значение свойства DateTime.Now, которое содержит текущее локальное время, и присваивает его переменной с именем currentDate . Затем оно отображает эти значения в окне консоли. Наконец, приложение выводит запрос в окне консоли и вызывает метод Console.ReadKey(Boolean) для ожидания ввода данных пользователем. Environment.NewLine — это независимый от платформы и языка способ для представления разрыва строки. Его альтернативами являются \n в C# и vbCrLf в Visual Basic. Знак доллара ( $ ) перед строкой позволяет вставить такие выражения, как имена переменных, в фигурные скобки в строке. Значение выражения вставляется в строку вместо выражения. Такой синтаксис называется интерполированными строками.

  • Нажмите клавиши CTRL + F5 , чтобы запустить программу без отладки.
  • В ответ на приглашение в командной строке введите имя и нажмите клавишу ВВОД .
  • Для закрытия окна консоли нажмите любую клавишу.
  • Дополнительные ресурсы

    • Выпуски стандартной поддержки (STS) и долгосрочные выпуски поддержки (LTS).

    Далее

    В этом учебнике показано, как создать консольное приложение .NET. В следующем учебнике описывается отладка приложения.

    В этом руководстве показано, как создать и запустить консольное приложение .NET с помощью Visual Studio 2022.

    Предварительные условия

    • Visual Studio 2022 версии 17.4 или более поздней версии с установленной рабочей нагрузкой разработки классических приложений .NET. Пакет SDK для .NET 7 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.

    Создание приложения

    Создайте проект консольного приложения .NET с именем HelloWorld.

    1. Запустите Visual Studio 2022.
    2. На начальной странице выберите Создать проект. Create a new project button selected on the Visual Studio start page
    3. На странице Создание проекта введите в поле поиска консоль. Затем выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон консольного приложения и нажмите кнопку «Далее«. Create a new project window with filters selected

    Совет Если вы не видите шаблоны .NET, вероятно, у вас не установлена требуемая рабочая нагрузка. В сообщении Не удается найти то, что ищете? выберите ссылку Установка других средств и компонентов. Откроется Visual Studio Installer. Убедитесь, что у вас установлена рабочая нагрузка Разработка классических приложений .NET.

    Configure your new project window with Project name, location, and solution name fields

  • В диалоговом окне Настройка нового проекта в поле Имя проекта введите HelloWorld. Теперь щелкните Далее.
  • В диалоговом окне Дополнительные сведения выполните следующие действия.
    • Выберите .NET 7 (поддержка со стандартным термином).
    • Выберите «Не использовать операторы верхнего уровня».
    • Выберите Создать.

    Шаблон создает простое приложение, отображающее «Hello, World!» в окне консоли. Код находится в файле Program.cs или Program.vb:

    namespace HelloWorld; internal class Program < static void Main(string[] args) < Console.WriteLine("Hello, World!"); >> 
    Imports System Module Program Sub Main(args As String()) Console.WriteLine("Hello World!") End Sub End Module 

    Если нужный язык не отображается, измените выбор языка в верхней части страницы.

    Код определяет класс Program с одним методом Main , который принимает массив String в качестве аргумента. Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.

    В последней версии C# новая используются операторы верхнего уровня, которые позволяют игнорировать класс Program и метод Main . Большинство существующих программ на C# не используют операторы верхнего уровня, поэтому в этом руководстве эта новая функция не используется. Но она доступна в C# 10, и то, используете ли вы ее в своих программах, зависит от стилистических предпочтений.

    Выполнить приложение

    Console window showing Hello World Press any key to continue

    1. Нажмите клавиши CTRL + F5 , чтобы запустить программу без отладки. Откроется окно консоли с текстом «Hello, World!» на экране. (Или «Hello World!» без запятой в шаблоне проекта Visual Basic.)
    2. Для закрытия окна консоли нажмите любую клавишу.

    Улучшение приложения

    Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.

      В Program.cs или Program.vb замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:

    Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"Hello, , on at !"); Console.Write($"Press any key to exit. "); Console.ReadKey(true); 
    Console.WriteLine("What is your name?") Dim name = Console.ReadLine() Dim currentDate = DateTime.Now Console.WriteLine($"Hello, , on at ") Console.Write($"Press any key to exit. ") Console.ReadKey(True) 

    Console window with modified program output

    Этот код отображает запрос в окне консоли и ожидает, чтобы пользователь ввел строку текста и нажал клавишу ВВОД . Приложение сохраняет полученную строку в переменной с именем name . Оно также получает значение свойства DateTime.Now, которое содержит текущее локальное время, и присваивает его переменной с именем currentDate . Затем оно отображает эти значения в окне консоли. Наконец, приложение выводит запрос в окне консоли и вызывает метод Console.ReadKey(Boolean) для ожидания ввода данных пользователем. Environment.NewLine — это независимый от платформы и языка способ для представления разрыва строки. Его альтернативами являются \n в C# и vbCrLf в Visual Basic. Знак доллара ( $ ) перед строкой позволяет вставить такие выражения, как имена переменных, в фигурные скобки в строке. Значение выражения вставляется в строку вместо выражения. Такой синтаксис называется интерполированными строками.

  • Нажмите клавиши CTRL + F5 , чтобы запустить программу без отладки.
  • В ответ на приглашение в командной строке введите имя и нажмите клавишу ВВОД .
  • Для закрытия окна консоли нажмите любую клавишу.
  • Дополнительные ресурсы

    Далее

    В этом учебнике показано, как создать консольное приложение .NET. В следующем учебнике описывается отладка приложения.

    В этом руководстве показано, как создать и запустить консольное приложение .NET с помощью Visual Studio 2022.

    Предварительные условия

    • Visual Studio 2022 версии 17.1 или более поздней версии с установленной рабочей нагрузкой разработки классических приложений .NET. Пакет SDK для .NET 6 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.

    Создание приложения

    Создайте проект консольного приложения .NET с именем HelloWorld.

    1. Запустите Visual Studio 2022.
    2. На начальной странице выберите Создать проект. Create a new project button selected on the Visual Studio start page
    3. На странице Создание проекта введите в поле поиска консоль. Затем выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон Консольное приложение и нажмите Далее. Create a new project window with filters selected

    Совет Если вы не видите шаблоны .NET, вероятно, у вас не установлена требуемая рабочая нагрузка. В сообщении Не удается найти то, что ищете? выберите ссылку Установка других средств и компонентов. Откроется Visual Studio Installer. Убедитесь, что у вас установлена рабочая нагрузка Разработка классических приложений .NET.

    Configure your new project window with Project name, location, and solution name fields

  • В диалоговом окне Настройка нового проекта в поле Имя проекта введите HelloWorld. Теперь щелкните Далее.
  • В диалоговом окне Дополнительные сведения выберите .NET 6 (долгосрочная поддержка), а затем щелкните Создать. Шаблон создает простое приложение, которое отображает Hello World в окне консоли. Код находится в файле Program.cs или Program.vb:

    Console.WriteLine("Hello, World!"); 
    Imports System Module Program Sub Main(args As String()) Console.WriteLine("Hello World!") End Sub End Module 
    namespace HelloWorld < class Program < static void Main(string[] args) < Console.WriteLine("Hello World!"); >> > 
    ' This step of the tutorial applies only to C#. 

    Выполнить приложение

    Console window showing Hello World Press any key to continue

    1. Нажмите клавиши CTRL + F5 , чтобы запустить программу без отладки. Откроется окно консоли с текстом «Hello World!» на экране.
    2. Для закрытия окна консоли нажмите любую клавишу.

    Улучшение приложения

    Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.

      В Program.cs или Program.vb замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:

    Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"Hello, , on at !"); Console.Write($"Press any key to exit. "); Console.ReadKey(true); 
    Console.WriteLine("What is your name?") Dim name = Console.ReadLine() Dim currentDate = DateTime.Now Console.WriteLine($"Hello, , on at ") Console.Write($"Press any key to exit. ") Console.ReadKey(True) 

    Console window with modified program output

    Этот код отображает запрос в окне консоли и ожидает, чтобы пользователь ввел строку текста и нажал клавишу ВВОД . Приложение сохраняет полученную строку в переменной с именем name . Оно также получает значение свойства DateTime.Now, которое содержит текущее локальное время, и присваивает его переменной с именем currentDate . Затем оно отображает эти значения в окне консоли. Наконец, приложение выводит запрос в окне консоли и вызывает метод Console.ReadKey(Boolean) для ожидания ввода данных пользователем. Environment.NewLine — это независимый от платформы и языка способ для представления разрыва строки. Его альтернативами являются \n в C# и vbCrLf в Visual Basic. Знак доллара ( $ ) перед строкой позволяет вставить такие выражения, как имена переменных, в фигурные скобки в строке. Значение выражения вставляется в строку вместо выражения. Такой синтаксис называется интерполированными строками.

  • Нажмите клавиши CTRL + F5 , чтобы запустить программу без отладки.
  • В ответ на приглашение в командной строке введите имя и нажмите клавишу ВВОД .
  • Для закрытия окна консоли нажмите любую клавишу.
  • Дополнительные ресурсы

    Далее

    В этом учебнике показано, как создать консольное приложение .NET. В следующем учебнике описывается отладка приложения.

    Создание проекта консольного приложения С++

    Обычно программист C++ начинает с создания приложения «Hello, world!», которое запускается из командной строки. Это то, что вы создаете в Visual Studio на этом шаге.

    Необходимые компоненты

    • Установите и запустите на своем компьютере Visual Studio с рабочей нагрузкой Разработка классических приложений на C++. Если установка еще не выполнена, см. статью Установка поддержки C++ в Visual Studio.

    Создание проекта приложения

    Visual Studio использует проекты, чтобы упорядочить код для приложения, и решения, чтобы упорядочить проекты. Проект содержит все параметры, конфигурации и правила, используемые для сборки приложения. Он управляет связью между всеми файлами проекта и любыми внешними файлами. Чтобы создать приложение, сначала создайте проект и решение.

    Screenshot of the create a new project dialog.

    1. В Visual Studio откройте меню «Файл» и выберите «Создать > проект «, чтобы открыть диалоговое окно «Создать проект «. Выберите шаблон Консольное приложение с тегами C++, Windows и Консоль, а затем нажмите кнопку Далее.

    Диалоговое окно создания проекта с выбранным шаблоном консольного приложения. Этот шаблон говорит: запуск кода в терминале Windows. По умолчанию выводит hello world. Содержит теги c++, Windows и консоль.

    Screenshot of Configure your new project dialog.

    В диалоговом окне Настроить новый проект в поле Имя проекта введите HelloWorld. Выберите Создать, чтобы создать проект.

    Диалоговое окно «Настройка нового проекта» с помощью HelloWorld, введенного в поле «Имя проекта».

    Screenshot of the NEW Hello World project.

    Visual Studio создаст проект. Вы можете приступать к добавлению и изменению исходного кода. По умолчанию шаблон консольного приложения предоставляет исходный код для приложения Hello World, как показано ниже.

    Отображает новый проект. Файл HelloWorld.cpp открыт, отображая код по умолчанию, включенный в этот шаблон. Этот код состоит из #include iostream и функции main(), содержащей строку: std::cout helloworld.sln файл) в проводник.

    Если в диалоговом окне Новый проект в списке Установленные нет элемента Visual C++, возможно, в вашей копии Visual Studio не установлена рабочая нагрузка Разработка классических приложений на C++. Установщик можно запустить прямо из диалогового окна Новый проект. Чтобы снова запустить установщик, щелкните ссылку Открыть Visual Studio Installer. Если в диалоговом окне Контроль учетных записей пользователей запрашиваются разрешения, выберите Да. При необходимости обновите установщик. В установщике должна быть выбрана рабочая нагрузка Разработка классических приложений на C++. Нажмите кнопку ОК, чтобы обновить установку Visual Studio.

    Если проект с таким именем уже существует, выберите другое имя для проекта. Можно также удалить существующий проект и повторить попытку. Чтобы удалить существующий проект, удалите папку решения (папку, содержащую helloworld.sln файл) в проводник.

    Настройка проекта как консольного приложения: проблемы

    Если в списке Свойства конфигурации нет элемента Компоновщик, нажмите кнопку Отмена, чтобы закрыть диалоговое окно Страницы свойств. Перед повторной попыткой убедитесь в том, что в обозревателе решений выбран проект HelloWorld. Не выбирайте решение HelloWorld или другой объект в обозревателе решений.

    Раскрывающийся список не открывается в поле свойства Подсистема, пока не будет выбрано свойство. Щелкните поле ввода, чтобы выбрать его. Можно также последовательно переходить по элементам управления в диалоговом окне с помощью клавиши TAB, пока не будет выделено поле Подсистема. Щелкните раскрывающийся список или нажмите клавиши ALT+стрелка вниз, чтобы открыть его.

    Добавление файла исходного кода: проблемы

    Файлу исходного кода можно спокойно присвоить другое имя. Однако не добавляйте в проект несколько файлов с одинаковым кодом.

    Если вы добавили в проект файл неправильного типа, например файл заголовка, удалите его и повторите попытку. Чтобы удалить файл, выберите его в обозревателе решений. Затем нажмите клавишу DELETE.

    Добавление кода в файл исходного кода: проблемы

    Если вы случайно закрыли окно редактора с файлом исходного кода, его можно легко открыть снова. Чтобы сделать это, дважды щелкните файл HelloWorld.cpp в окне обозревателя решений.

    Если в редакторе исходного кода какие-либо элементы подчеркнуты красной волнистой линией, проверьте, соответствуют ли их написание, пунктуация и регистр символов используемым в примере. В коде на C++ регистр имеет важное значение.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *