2010-06-08 2 views
2

.net의 winform 프로젝트 내에 reports라는 디렉토리가 있습니다. 내 프로젝트 이름은 AccountingReports이고 내부에는 디렉토리 보고서가 있습니다. 그래서 코드를 통해이 경로에 액세스하는 방법이 필요합니다. Asp.net에서는 Request.PhysicalApplicationPath 속성을 사용합니다. 그래서 어떤 방법이있다 재산은 당신이 사용할 수있는 내 프로젝트내 WinForm 응용 프로그램 프로젝트 내에서 디렉토리의 경로를 얻는 방법

답변

8

의 나에게 뿌리를 줄 것이다 존재합니다

Directory.GetCurrentDirectory

는 응용 프로그램의 현재 작업 디렉토리를 가져옵니다.

그런 다음 사용하는 것과 "보고서"를 추가 할 수있는 사항은 다음과 같습니다

Path.Combine(string, string) :

Dim reportsFolder As String 
reportsFolder = Path.Combine(Directory.GetCurrentDirectory(), "Reports") 
+0

여전히 me \ bin \ debug [실행 파일의 현재 작업 디렉토리]를 제공하므로 내 응용 프로그램을 테스트하기 위해 디버그 디렉토리에 보고서를 넣어야합니다. & 추가로 설치된 위치는 AppInstallDir/Reports /가됩니다. 그것은 작동한다 ... 나는 맞다? 다른 접근법을 염두에 두지 마십시오 .. –

+0

@Amit - 네, 위치를 app.config 디렉토리에 넣고 거기에서 읽지 않는 한 그렇습니다. – ChrisF

+0

그런 다음 배포 사용자가 app 디렉토리를 이동할 때마다 app.config 파일을 업데이트해야합니다. –

1

내가 사용한 설치된 IDE 대에서 실행 :

System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed를하는 경우 - 설치된 경우 true, false IDE

이 설치된 경우 - System.Deployment.Application.ApplicationDeployment.CurrentDeployment.DataDirectory

IDE - 그럼 My.Application.Info.DirectoryPath

+0

여전히 동일한 My.Application.Info.DirectoryPath = \ bin \ debug –

+0

어쨌든 문자열을 분석하거나 실행 가능 디렉토리에 붙여 넣기해야합니다 .. 친절하게 지원해 주셔서 감사합니다. –

+0

항상 재미 있습니다. 설명이없는 6 년 된 게시물의 downvotes ... – dbasnett

5
Dim path As String = AppDomain.CurrentDomain.BaseDirectory 
'replace \bin\Debug\ the part of the path you dont want with part you do want 
Dim path1 As String = path.Replace("\bin\Debug\", "\htmlFiles\") 
+0

이것은 VSTO 추가 기능을 개발하는 동안 저에게 효과가있는 유일한 프로그램입니다. 이것을 모른 채 다른 사람들에게 수치스러워하십시오. – Lopsided

0

. 릴은 '말 어쩌면 비트,하지만 난 그냥 같은 문제를했고, 이런 식으로 해결 : 경로에 포함이와

Dim Path As String() = Directory.GetCurrentDirectory.ToString.Split(New Char() {"\"c}) 
    For i = 0 To Path.Count - 3 
     PathLb.Text = PathLb.Text & "\" & Path(i) 
    Next i 
    PathLb.Text = PathLb.Text.Remove(0, 1) 

'PathLb을 '.

누구에게나 유용 할 것입니다.

관련 문제