2008-11-17 34 views

Respuesta

28

resultados Application.Current en un dominio de aplicación http://msdn.microsoft.com/en-us/library/system.appdomain_members.aspx

También esto debe darle la ubicación del montaje

AppDomain.CurrentDomain.BaseDirectory 

Me parece recordar hay múltiples formas de obtener la ubicación de la aplicación. pero éste trabajó para mí en el pasado al menos (que ha pasado un tiempo desde que he hecho la programación Windows Forms: /)

+2

Debe ser Application.CurrentDomain. – Max

+1

Esto no parece funcionar en .NET 4.0, pero Application.UserAppDataPath funcionó. – criticalfix

+1

AppDomain.CurrentDomain.BaseDirectory –

55

En VB.NET

Dim directory as String = My.Application.Info.DirectoryPath 

En C#

string directory = AppDomain.CurrentDomain.BaseDirectory; 
+3

La ubicación de C# también funcionará en VB u otro idioma es que no son compatibles con la "My" namepsace. –

+0

@Tomas Pajonk, ¿puedo sugerir cambiar la variable C# "FileName" a "directorio"? – grenade

+0

@grenade hecho. Gracias. –

12

Esto podría ayudar;

Path.GetDirectoryName(Application.ExecutablePath); 

También aquí está el reference

0
string apppath = 
    (new System.IO.FileInfo 
    (System.Reflection.Assembly.GetExecutingAssembly().CodeBase)).DirectoryName; 
+0

Lo sentimos, el espacio de nombre de la Asamblea y el panel de visualización de código no funcionan bien juntos. Odio las barras de desplazamiento. – MusiGenesis

9

System.Windows.Forms.Application.StartupPath va a resolver su problema, creo

1

mira esto

'as in import statement you have to mention the Imports System.IO & import System.Management 
Imports System.IO 
Imports System.Management 
Public Class Form1 


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     TextBox1.Text = Path.GetFullPath(Application.ExecutablePath) 
     Process.Start(TextBox1.Text) 

    End Sub 
End Class 
2

Ambos ejemplos están en VB.NET.

ruta de depuración: ruta

TextBox1.Text = My.Application.Info.DirectoryPath 

EXE:

TextBox2.Text = IO.Path.GetFullPath(Application.ExecutablePath) 
0

Private Sub Main_Shown (remitente como objeto, e como EventArgs) Procesa Me.Shown

Dim args() As String = Environment.GetCommandLineArgs() 
    If args.Length > 0 Then 
     TextBox1.Text = Path.GetFullPath(Application.ExecutablePath) 
     Process.Start(TextBox1.Text) 
    End If 
End Sub 
Cuestiones relacionadas