VB.NET 2017 ссылается на файл.exe в моем проекте
Здравствуйте, я долго искал, но все, что я получил, это результаты, которые говорят о путешествии на Луну и e=mc2.
Поэтому, чтобы быть как можно более конкретным, я добавлю скриншоты:)
- Я использую Microsoft Visual Studio 2017
- Форма заявки
- Мои знания в основном нулевые, я изучаю тест кода и в итоге получаю результаты.
История:
Я добавил.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"))