2016-06-24 15 views
0

私はデスクトップ.N​​ET Frameworkでアプリケーションのバイナリディレクトリを取得するコードを以下している:.NET CoreのAppDomain.RelativeSearchPath置換は存在しますか?

static string GetBinDirectory() 
{ 
    var relativePath = AppDomain.CurrentDomain.RelativeSearchPath; 
    var basePath = AppDomain.CurrentDomain.BaseDirectory; 
    return string.IsNullOrEmpty(relativePath) || !relativePath.IsSubdirectoryOf(basePath) 
     ? basePath 
     : relativePath; 
} 

このコードは、NUnitのテストを実行しているアセンブリのシャドウコピーのようなコーナーケースでは、正しい動作します。 このコードを.NETコアプラットフォームに移行し始めました。

ASP.NETコアにはIHostingEnvironment.ContentRootPathというプロパティがあります。

純粋な.NETコアのアプリケーションバイナリへの正しいパスを取得する方法はどれですか?

AppDomain.RelativeSearchPathの代わりになるものはどれですか?

+0

もっとAppDomainのAPIの表面には、.NETのコア(https://jeremydmiller.com/2016/05/に戻って来ています31/my-surprisingly-positive-take-on-net-cores-current-direction /)だから、私はむしろMicrosoftからのより多くの情報を待っている。 –

答えて

2

あなたはおそらく、アプリケーションがに住んでいるフォルダへのパスであるPlatformServices.Default.Application.ApplicationBasePathを探しています。

関連する問題