我有一个ClassLibrary项目,这是我的业务层 - Demo.Business
对于这个类库,
I have folder in the class library as below
TRT
|
TRT.cs
TRTDetails.cs
TRTFiles(Folder)
|
**TRTFile.txt**
在TRT.cs类中,我有一个方法
public void UpdateDetails()
{
var typeSeq = from val in TRTDetails.Read**(@"TRTFile.txt")**
}
现在我已将此类库“Demo.Business.dll”的引用添加到我的控制台应用程序 - “DemoProcess.exe”。 在上面的控制台应用程序中,我调用方法“UpdateDetails()”,如下所示:
public void CallMethod()
{
UpdateDetails();
}
如何在类库的“UpdateDetails()”方法中指定文件“TRTFile.txt”的路径?
我尝试使用System.IO.Path.GetDirectoryName
(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
总是提供执行应用程序的路径。 即
C:\\Projects\\Demo.Process\\bin\\Debug
我如何获得路径
C:\\Projects\\Demo.Business\\TRT\\TRTFiles............
答案 0 :(得分:1)
有两种方法可以做到这一点:
予。
这可以使用相对路径来完成。如果您的dll
也位于Debug
文件夹中,则以下path = @"..\..\..\Demo.Business\TRT\TRTFiles\"
将执行此工作。
首先..\
会将我们带到C:\\Projects\\Demo.Process\\bin\\
。
第二个..\
会将我们带到C:\\Projects\\Demo.Process\\
。
第三个..\
会将我们带到C:\\Projects\\
。
II。 或者通过使用用于编写visual studio扩展(Extensibility,EnvDTE命名空间等)的类,它们提供了获取有关项目及其内容的所有信息的功能。但它很复杂。