Какое действие сборки (C # Microsoft Visual Studio) подходит для запуска программного обеспечения .exe, которое имеет ноль или более иждивенцев в форме Windows?

Вы используете геттеры и сеттеры.

class A {
    private int a_number;
    public int getNumber() { return a_number; }
}
class B {
    private int b_number;
    public void setNumber(int num) { b_number = num; }
}

.. И в вашем основном методе, где бы он ни находился:

public static void main(String[] args) {
    A a = new A();
    int blah = a.getNumber();
    B b = new B();
    b.setNumber(blah);
}

Вы также можете использовать конструкторы в качестве средства «начальный сеттер», так что объект всегда создается с минимальным набором уже заданных переменных, например:

class A {
    private int a_number;
    public A(int number) { // this is the only constructor, you must use it, and you must give it an int when you do
        a_number = number;
    }
    public int getNumber() { return a_number; }
}
1
задан MickyD 13 July 2018 в 04:28
поделиться

2 ответа

Вместо добавления артефактов в вашу пусковую установку, которые просто создают шум в отношении .csproj, рассмотрите возможность использования событий build .

Щелкните правой кнопкой мыши проект вашей пусковой установки, выберите «Свойства» затем Build Events. В командной строке события Post-build введите соответствующие команды копирования, чтобы скопировать ваши двоичные файлы и артефакты из ваших других папок проекта в папку OutDir вашей пусковой установки.

Что-нибудь еще, и вы, вероятно, должны посмотреть на создание установщика.

0
ответ дан MickyD 17 August 2018 в 13:41
поделиться

Как вы делаете это хорошо. Несколько примечаний:

  • Вместо «Копировать всегда» вы можете использовать «Копировать только если новый»
  • Для «Добавить существующий элемент ...» вместо добавления элементы напрямую, вы можете вытащить кнопку «Добавить» и выбрать «Добавить ссылку» - это приведет к синхронизации файлов с исходными элементами, если они будут обновлены
  • Действие сборки «none» равно верный. Вы не создаете эти элементы, просто скопировав их в свою выходную папку.

Что бы вы ни делали с вашим проектом: публиковать, разворачивать и т. Д. - добавленные элементы будут оставаться на выходе вашего проекта .

Удачи!

0
ответ дан Pancake 17 August 2018 в 13:41
поделиться
  • 1
    Спасибо, звучит достаточно просто, но не будет использовать «Добавить как ссылку». вместо "Добавить" означает, что мое программное обеспечение не сможет запускать два файла .exe на компьютере друга, если на компьютере моего друга нет этих файлов .exe? – Stoverflow 13 July 2018 в 06:31
  • 2
    У вашего друга компьютер есть эти .exe-файлы. Единственное различие между «Добавить» и "Добавить со ссылкой" заключается в том, что «Добавить со ссылкой» сохраняет файлы в проекте синхронизированными с исходными исходными файлами во время разработки. Поэтому, если вы обновляете исходные файлы, обновления отражаются в вашем проекте. Это предпочтительнее подхода MickyD, потому что артефакты на самом деле являются частью вашего проекта и обрабатываются, как ожидалось, в сочетании с остальной частью вашей структуры проекта. Например, они очищаются при очистке проекта. – Pancake 13 July 2018 в 08:59
  • 3
    Привет, спасибо за разъяснение, но я попытался запустить свое встроенное программное обеспечение на компьютере друга и, пытаясь запустить любой из двух файлов .exe, произошла ошибка необработанного исключения, указав, что требуемые файлы не найдены. Что я делаю не так? – Stoverflow 18 July 2018 в 08:05
  • 4
    Если вы подтвердили, что все предназначенные файлы были развернуты на компьютере вашего друга, это означает, что на вашем компьютере есть дополнительные зависимости, кроме папок bin MyGame и SocketTest. Предоставляет ли исключение какие-либо сведения о том, какие файлы отсутствуют? – Pancake 19 July 2018 в 17:19
  • 5
    Компьютер моего друга не предназначен для этих файлов. Ему просто нужно запустить мою программу, которая затем запустит два .exe-файла. В качестве теста я даже добавил файл .pdf, который можно открыть, если в моей программе запущена кнопка. Такое же необработанное исключение произошло на компьютере друга, когда он попытался открыть файл. На самом деле, как ни странно, когда я пытался запустить SocketTest.exe из моей встроенной программы, я получаю ту же ошибку. Программа работает только в Visual Studio. Во всяком случае, ошибка Unhandled Exception: «Система не может найти указанный файл. & Quot; – Stoverflow 24 July 2018 в 09:31
Другие вопросы по тегам:

Похожие вопросы: