J'ai un répertoire nommé reports dans mon projet winform dans .net. Mon nom de projet est AccountingReports et à l'intérieur de ce rapport d'annuaire existe. J'ai donc besoin de la façon d'accéder à ce chemin via le code. Dans Asp.net, nous utilisons la propriété Request.PhysicalApplicationPath. Donc, il y a une méthode ou une propriété existe qui va me donner la racine de mon projetComment obtenir le chemin de l'annuaire dans mon projet d'application WinForm?
Répondre
Vous pouvez utiliser:
Obtient le répertoire de travail actuel de l'application.
Vous pouvez ensuite ajouter "Rapports" à qu'utiliser les éléments suivants:
Dim reportsFolder As String
reportsFolder = Path.Combine(Directory.GetCurrentDirectory(), "Reports")
Lors de l'exécution dans le rapport IDE INSTALLÉ Je l'ai utilisé:
Si System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed
- true si installé, false IDE
installé - System.Deployment.Application.ApplicationDeployment.CurrentDeployment.DataDirectory
IDE - My.Application.Info.DirectoryPath
toujours le même My.Application.Info.DirectoryPath = \ bin \ debug –
de toute façon j'ai besoin de faire un peu d'analyse sur la chaîne ou copiez-la coller dans un répertoire exécutable .. toujours merci pour un soutien aimable .. –
Il est toujours amusant d'obtenir downvotes sur un post de six ans sans explication ... – dbasnett
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\")
C'est le seul qui a fonctionné pour moi lors du développement d'un add-in VSTO. Honte à tout le monde de ne pas avoir attrapé ça. – Lopsided
bien. Un p'tit peu tard peut-être, mais je viens d'avoir le même problème et résolu comme ceci:
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)
Avec ce le chemin est contenu sur « PathLb ».
Espérons que c'est utile à tous.
qui me donnait encore \ bin \ debug [répertoire de travail actuel de l'exécutable], donc j'ai besoin de mettre les rapports dans le répertoire de débogage pour tester mon application ... et plus loin l'emplacement installé sera AppInstallDir/Reports/pour faire ça marche ... ai-je raison? aucune autre approche ne vient à l'esprit .. –
@Amit - oui, sauf si vous mettez l'emplacement dans le répertoire app.config et le lisez à partir de là. – ChrisF
Ensuite, dans ce cas, après le déploiement, l'utilisateur doit mettre à jour le fichier app.config à chaque fois qu'il déplace le répertoire Reports. –