2017-03-23 5 views
1

Bonjour cherchait depuis un moment mais tout ce que je reçois sont des résultats qui parle de voyage de la lune et e = mc2.VB.NET 2017 se référer au fichier .exe dans mon projet

Ainsi, afin d'être aussi précis que possible, je vais des captures d'écran :)

  1. je lance Microsoft Visual Studio 2017
  2. application formulaire
  3. Ma connaissance est essentiellement zéro, i Code étudier -test et obtenir les résultats finalement.

histoire:

J'ai ajouté un fichier .exe dans mon projet comme si; Screenshot of Solution Explorer Ce que je veux faire est d'appuyer sur un bouton et il va lancer l'application:

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 

Comme vous pouvez le voir ci-dessus la première sous exécute une application qui est déjà installé sur la machine. Le deuxième sous je veux exécuter le fichier .exe comme indiqué dans l'image ci-dessus.

Cependant, après googler etc, tout est sur le chemin référait complet du fichier comme: C: \ Users \ XXXX \ documents \ Visual Studio 2017 \ Projects \ WindowsApp6 \ WindowsApp6 \ ts12.exe

Mais évidemment, cette ne fonctionnera pas si je cours l'application sur un autre ordinateur.

Ce que je veux aider:

Que dois-je mettre dans mon Process.Start pour pointer vers un fichier inclus dans l'explorateur de solution? comme Process.Start ("\ root \ app \ ts3.exe") ou similaire, qui fonctionne à la fois dans le débogage et la publication.

S'il vous plaît noter que je suis un débutant, alors s'il vous plaît fournir des exemples qui ont un sens pour quelqu'un de manière inférieure à votre propre niveau d'expertise. Merci! :)

Répondre

1

Vous devez vous assurer que la propriété Copier dans le répertoire de sortie du fichier .exe dans l'explorateur de solution est définie sur Copier si nouveau ou Copie entière.

code pour obtenir le répertoire de sortie:

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

    Process.Start(System.IO.Path.Combine(strOutputDirectory, "ts12.exe")) 
+0

Merci pour votre réponse. J'ai ajouté votre exemple, et essayé à la fois la version et la publication de mon application, malheureusement l'application ne démarre même pas. Cependant, la version de débogage fait. Mais lorsque vous cliquez sur le bouton, il est dit: System.ArgumentException: Le chemin de recherche n'est pas un format valide. – Andreas

+0

@Andreas: Au lieu de cette longue déclaration, remplacez 'strOutputDirectory' par' Application.StartupPath' et cela devrait fonctionner. –