J’ai 2 projets Projet A, Projet B, projet A a une référence au projet B, le projet A est un exécutable.
Project A --> Project B
dans le projet B, il existe un répertoire appelé “MyFolder”
donc la hiérarchie soulotion est la suivante:
MySolution - A - B - MyFolder
Comment puis-je obtenir un chemin relatif vers MyFolder à partir du projet A (fichier exécutable).
J’ai trouvé beaucoup de réponses qui indiquent ce qui suit:
sring path = Assembly.GetAssembly(typeof(SomeClassInBProject)).Location;
Le chemin que j’ai obtenu de ceci est le chemin de B.dll dans le répertoire bin \ debug de A, comment puis-je récupérer un chemin avec ce fichier .dll.
Modifier :
iv’e a également essayé:
Assembly assembly = Assembly.GetAssembly(typeof(SomeClassInBProject)); FileStream fs = assembly.GetFile(@"MyFolder\myFile"); and FileStream fs = assembly.GetFile("MyFolder\myFile"); and FileStream fs = assembly.GetFile("myFile");
fs j’ai toujours nul.
Uri.MakeRelativeUri est- il ce que vous cherchez?
ssortingng pathA = Assembly.GetExecutingAssembly().Location; ssortingng pathB = Assembly.GetAssembly(typeof(SomeClassInBProject)).Location; Uri pathAUri = new Uri(pathA); Uri pathBUri = new Uri(pathB); ssortingng relativePath = pathAUri.MakeRelativeUri(pathBUri).OriginalSsortingng; ssortingng relativeMyFolder = Path.Combine(relativePath, "MyFolder");
Mettre à jour
Vous pouvez utiliser la méthode Assembly.GetFile () qui renvoie un FileStream. FileStream
a une propriété Name
vous pouvez utiliser dans le code ci-dessus.
À moins que cela ne soit impossible, je vous recommande d’ouvrir la fenêtre Propriétés *, de définir la propriété Build Action
de Embedded Resource
et de vous assurer que l’ Copy to Output Directory
est définie sur Do not copy
. Vous pouvez ensuite utiliser Assembly.GetFile () pour y accéder.
Assembly assembly = Assembly.GetAssembly(typeof(SomeClassInBProject)); using (FileStream fs = assembly.GetFile("myfile")) { // Manipulate the FileStream here }
* Une fois le fichier sélectionné, appuyez sur Alt + Entrée ou cliquez avec le bouton droit de la souris sur le fichier et sélectionnez Properties