4

私が書いている単純な単体テストについて、私は本当に頭を悩ませています!

[TestFixture]
Class A
{

  [TestMethod]
  public void test()
  {
      Assembly.GetExecutingAssembly().Location // gives some temporary local path
  }

 }

私が望むのは、ローカルまたは一時フォルダーではなく、アセンブリの場所 (私のプロジェクト フォルダーが存在する場所) のパスを取得することだけです。

このフォルダーは、ブレークポイントを配置した場合に得られるものです: \AppData\Local\Temp\

どんな助けでも大歓迎です!

編集: nUnit と MSTest microsoft の単体テストの両方でこれを試してみました! 何も役に立ちません。

4

4 に答える 4

1

以下のコードが動作します。

Path.GetDirectoryName(new System.Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath)
于 2020-09-16T10:16:17.877 に答える
0

試しましたか

AppDomain.CurrentDomain.BaseDirectory   
于 2013-07-17T19:28:20.937 に答える
0

GetExecutingAssembly()期待している実行可能ファイルでない場合は、必要なアセンブリで既知の型を使用してみませんか。

typeof(A).Assembly.Location;
于 2020-08-28T02:39:27.810 に答える