0

私のビジネスレイヤーである ClassLibrary Project があります - 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............
4

1 に答える 1

1

これを行うには、次の 2 つの方法があります。

I.これは、相対パスを使用して実行できます。あなたのdllものもDebugフォルダにある場合は、次のようpath = @"..\..\..\Demo.Business\TRT\TRTFiles\"にして作業を行います。

まず..\に行きC:\\Projects\\Demo.Process\\bin\\ます。
2 番目..\に に到達しC:\\Projects\\Demo.Process\\ます。
3 番目..\に に到達しC:\\Projects\\ます。

Ⅱ.または、Visual Studio 拡張機能 ( ExtensibilityEnvDTE名前空間など)を記述するために使用されるクラスを使用することで、プロジェクトとそのコンテンツに関するすべての情報を取得する機能を提供します。しかし、それは複雑です。

于 2012-10-02T10:07:26.423 に答える