SORU
9 EYLÜL 2008, Salı


Nasıl kod derlemenin yolunu alabilirim?

Bir şekilde Meclis için geçerli kod bulunduğu yol almak için var mı? Çağıran derleme, bir kod içeren sadece yolunu istemiyorum.

Temelde benim birim test için dll göreceli bulunan bazı test xml dosyalarını okumak gerekiyor. Yol her zaman doğru test dll testdriven.net, MbUnit GUI yoksa başka bir şey çalıştırmak ne olursa olsun çözmek istiyorum.

Editİnsanlar soruyorum yanlış anlama gibi görünüyor.

Benim test kütüphane söylemek yer almaktadır

C:\projects\myapplication\daotests\bin\Debug\daotests.dll

ve bu yol almak istiyorum:

\ C:\projects\myapplication\daotests\bin\Debug

Üç öneri şimdiye kadar MbUnit Guı çalıştırdığımda bana başarısız:

  • Environment.CurrentDirectory verirc:\Program \MbUnit Dosyaları

  • System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location verirC:\Documents ve Ayarlar\george\Local Settings\Temp\ ....\DaoTests.dll

  • System.Reflection.Assembly.GetExecutingAssembly().Location önceki ile verir.

CEVAP
12 Kasım 2008, ÇARŞAMBA


Genellikle birim testi bunu kullanırız olarak aşağıdaki özelliği tanımlı ettim.

public static string AssemblyDirectory
{
    get
    {
        string codeBase = Assembly.GetExecutingAssembly().CodeBase;
        UriBuilder uri = new UriBuilder(codeBase);
        string path = Uri.UnescapeDataString(uri.Path);
        return Path.GetDirectoryName(path);
    }
}

Assembly.Location özellik bazen size bazı komik sonuçlar kullanırken NUnit (nerede derlemeler Çalıştır bir geçici klasör), bu yüzden tercih ederim CodeBase verir size yol URI biçimi, UriBuild.UnescapeDataString kaldırır File:// başında ve GetDirectoryName değişiklikleri normal windows format.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010
  • MarinaHD2001

    MarinaHD2001

    7 ŞUBAT 2009
  • TantalizingTrance

    TantalizingT

    15 ŞUBAT 2009