67

現在のディレクトリで構成ファイルを探す Windows サービスがあります。

だから私は使用しますdirectory.getcurrentdirectiry()が、サービスディレクトリの代わりに戻ってきます

c:\windows\system32

サービスディレクトリを取得する理由と方法はありますか?

4

5 に答える 5

160

コードに次の行を含めることで、サービスが実行されているディレクトリに現在のディレクトリを設定できます。

System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);

これの重要な部分は次のとおりです。

System.AppDomain.CurrentDomain.BaseDirectory

これにより、サービスが実行されているディレクトリへのパスが返されます。

于 2012-04-30T14:43:25.767 に答える
33

これを試して:

System.Reflection.Assembly.GetEntryAssembly().Location
于 2012-04-29T21:43:50.543 に答える
13

使用しないでくださいDirectory.GetCurrentDirectory()C:\Windows\System32が返されるというまったく同じ問題がありました。代わりにこれを使用してください:

Path.GetDirectoryName(Application.ExecutablePath);

于 2016-04-14T18:23:59.423 に答える