我有2个项目项目A,项目B,
项目 A 引用了项目 B ,项目 A 是可执行文件。
Project A --> Project B
在项目 B 中有一个名为“MyFolder”的目录
所以解决方案层次结构如下:
MySolution
- A
- B
- MyFolder
我如何从项目 A(可执行文件)中获取 MyFolder 的相对路径。
我找到了很多答案,其中指出了以下内容:
sring path = Assembly.GetAssembly(typeof(SomeClassInBProject)).Location;
我从中得到的路径是A的bin\debug中B.dll的路径
,我如何检索该 .dll 中的路径。
Edit :
iv'e也尝试过:
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 我总是空。
Is Uri.MakeRelativeUri http://msdn.microsoft.com/en-us/library/system.uri.makerelativeuri%28v=vs.110%29.aspx你在找什么?
string pathA = Assembly.GetExecutingAssembly().Location;
string pathB = Assembly.GetAssembly(typeof(SomeClassInBProject)).Location;
Uri pathAUri = new Uri(pathA);
Uri pathBUri = new Uri(pathB);
string relativePath = pathAUri.MakeRelativeUri(pathBUri).OriginalString;
string relativeMyFolder = Path.Combine(relativePath, "MyFolder");
Update
您可以使用程序集.GetFile() http://msdn.microsoft.com/en-us/library/system.reflection.assembly.getfile%28v=vs.110%29.aspx返回 FileStream 的方法。FileStream
has a Name
您可以在上面的代码中使用的属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)