Как развернуть проект C# (ClickOnce?), Который является оболочкой для командной строки .exe - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть проект C#, который в основном GUI используется для вызова других исполняемых файлов с аргументами командной строки. (Командная строка exe была на самом деле собрана с помощью cygwin и использует cugwin DLL).

Итак, структура каталогов, которая должна существовать после развертывания приложения (через setup.exe или что-то еще), выглядит следующим образом:

install dir --->   MyApp.exe
                   MyApp.config
                   (dir) bin   ---> cmd1.exe
                                    cmd2.exe
                                    cygwin.dll

Теперь это должно быть просто, но что бы я ни пытался, я не могу скопировать каталог bin и его содержимое при установке на второй компьютер с setup.exe. Я попытался: - добавить их как ресурсы - установить «Build Action» в Content - установить «Copy To Output Directory» в Always

Но каталог bin никогда не копировался, когда я делал это. Я пытался искать здесь и в других местах, но все еще в замешательстве.

Должен ли это быть проект "ClickOnce"? (что это вообще значит - есть ли проекты ClickTwice и ClickUntilYouCanClickNoMore - хорошо, извините ...)

Также я получаю setup.exe, чтобы поместить это приложение в здравом уме, как C: // Программа Files / MyOrg / Myapp - вместо того, чтобы быть похороненным где-то в профиле пользователя?

(Использование VS 2019.)

Ответы [ 2 ]

2 голосов
/ 18 февраля 2020

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

У меня есть файл .p12, и я пометил его как «Копировать в выходной каталог» в «Копировать всегда»

enter image description here

Когда проект построен, файл копируется в папку bin со структурой папок, в которую также входит папка keystore.

enter image description here

В качестве любопытства Я просто попытался переименовать мою папку «keystore» в «bin» (мне пришлось удалить существующую папку bin), а затем добавил в нее файл .p12. Проект скомпилирован, сгенерирован новый exe-файл, а также скопирован файл .p12 с соответствующей структурой папок. Я не уверен, что означает создание и создание Setup.exe, хотя. Вы можете попробовать сообщить нам, сработало ли это для вас.

enter image description here

1 голос
/ 19 февраля 2020

Чтобы упаковать указанный файл в ClickOnce, вам просто нужно добавить его в Application Files....

Ниже приведена структура папок.

enter image description here

А затем подтвердите, что он был добавлен в Application Files....

enter image description here

Последний шаг, опубликовать sh it. И вы можете получить доступ к изображению, как это.

private void button1_Click(object sender, EventArgs e)
{
    pictureBox1.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + @"/img/a.jpg");
}

Что касается put this app somewhere sane, я боюсь, что ответ - нет.

Путь установки ClickOnce не может быть изменен. Вы можете найти его в C:\Users\username\AppData\Local\Apps\2.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...