現在のディレクトリで設定ファイルを探すWindowsサービスがあります。Windowsサービス - 現在のディレクトリを取得
任意のアイデアなぜ、どのように私はサービスのディレクトリを取得する必要があります
だから私はdirectory.getcurrentdirectiry()
を使用する代わりに、サービスディレクトリの私は戻って
c:\windows\system32
を取得しますか?
現在のディレクトリで設定ファイルを探すWindowsサービスがあります。Windowsサービス - 現在のディレクトリを取得
任意のアイデアなぜ、どのように私はサービスのディレクトリを取得する必要があります
だから私はdirectory.getcurrentdirectiry()
を使用する代わりに、サービスディレクトリの私は戻って
c:\windows\system32
を取得しますか?
Directory.GetCurrentDirectory()
を使用しないでくださいを書くことに比較し、非常に愚かな問題を。私はC:\ Windows \ System32と同じ正確な問題を返しました。代わりにこれを使用します。
Path.GetDirectoryName(Application.ExecutablePath);
この試してみてください:あなたはあなたのサービスがあなたのコード内でこの行を含めることでから実行されているディレクトリにカレントディレクトリを設定することができます
System.Reflection.Assembly.GetEntryAssembly().Location
この行私serviecが実行されているディレクトリだけでなく、アセンブリ自体を与えるような... sonthig - C:\ serviceDir \ app.exeの私は、ディレクトリ – MoShe
をしたいと思います@モシェ - それは完全な道です。 – coder
Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly()。Location) – VhsPiceros
を:
System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);
本の重要な一部であります:
System.AppDomain.CurrentDomain.BaseDirectory
サービスが実行されているディレクトリへのパスが返されます。
'System.AppDomain.CurrentDomain.BaseDirectory'が私のために働きました。 'System.Reflection.Assembly.GetEntryAssembly()。Location'はディレクトリと実行ファイルの名前を返します – j00hi
@ j00hiはい、ありがとうございました:D – Jed
この回答は、さまざまなシナリオでうまくいきます。私はNCrunchを使用しており、受け入れられた答えはそこでは役に立たないでしょう。 – reydelleon
完全なパスからディレクトリを取得:
var location = System.Reflection.Assembly.GetEntryAssembly().Location;
var directoryPath = Path.GetDirectoryName(location);
Windowsサービス:)
これは私を助けます。ありがとう – phanvugiap
string applicationDir = AppDomain.CurrentDomain.BaseDirectory;
これが動作するために、明らかにSystem.Windows.Forms.dllを追加する必要があります。 –
「現在のコンテキストに名前アプリケーションが存在しません」というメッセージが表示される – red888