VB.NET 2017 ссылается на файл.exe в моем проекте

Здравствуйте, я долго искал, но все, что я получил, это результаты, которые говорят о путешествии на Луну и e=mc2.

Поэтому, чтобы быть как можно более конкретным, я добавлю скриншоты:)

  1. Я использую Microsoft Visual Studio 2017
  2. Форма заявки
  3. Мои знания в основном нулевые, я изучаю тест кода и в итоге получаю результаты.

История:

Я добавил.exe-файл в свой проект следующим образом; Снимок экрана обозревателя решений. Я хочу нажать кнопку, чтобы запустить приложение:

    Private Sub RunVersion11ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RunVersion11ToolStripMenuItem.Click
    Dim TeamViewer11Path As String = ("C:\Program Files (x86)\TeamViewer\TeamViewer.exe")
    Process.Start(TeamViewer11Path)

End Sub

Private Sub RunVersion12packedToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RunVersion12packedToolStripMenuItem.Click
    Dim TeamViewer12Path As String = ("?!?!?!?! this file is included in the proj as seen in picture 1, the Private Sub above this is a locally installed one.")
    Process.Start(TeamViewer12Path)
End Sub

Как вы можете видеть выше, первая подпрограмма выполняет приложение, которое уже установлено на машине. 2-й подпункт я хочу запустить.exe, как показано на рисунке выше.

Однако после поиска в Google и т. Д. Все ссылается на полный путь к файлу, например: C:\Users\XXXX\documents\visual studio 2017\Projects\WindowsApp6\WindowsApp6\ts12.exe

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

Что я хочу помочь с:

Что я должен поместить в свой Process.Start, чтобы указать на файл, включенный в обозреватель решений? например Process.Start("\root\app\ts3.exe") или аналогичный, который работает как в режиме отладки, так и в выпуске.

Обратите внимание, что я новичок, поэтому приведите примеры, которые имеют смысл для кого-то намного ниже вашего собственного уровня знаний. Спасибо!:)

1 ответ

Вы должны убедиться, что для свойства "Копировать в выходной каталог" в файле.exe в обозревателе решений установлено значение "Копировать, если новее", или "Всегда копировать".

Код для получения в выходной каталог:

    Dim strOutputDirectory As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)

    Process.Start(System.IO.Path.Combine(strOutputDirectory, "ts12.exe"))
Другие вопросы по тегам