Mam aplikację testową C# jednostki, nad którą pracuję. W grę wchodzą trzy zespoły - sam zespół aplikacji C#, drugi zestaw, z którego korzysta aplikacja, oraz trzeci zestaw, który jest używany przez drugi.C# Instalacja rodzica Nazwa zespołu dzwoniącego
Więc rozmowy iść tak:
First Assembly ------> Second Assembly---------> Third Assembly.
Co muszę zrobić w trzecim zespole jest uzyskać nazwę Zgromadzenia Fist że zwanego drugiego zespołu.
Assembly.GetExecutingAssembly().ManifestModule.Name
Assembly.GetCallingAssembly().ManifestModule.Name
zwraca nazwę drugiego zestawu. i
Assembly.GetEntryAssembly().ManifestModule.Name
return NULL
Czy ktoś wie, czy istnieje sposób, aby dostać się do nazwy zespołu pierwszego zespołu?
Zgodnie z wymaganiami innych użytkowników, umieszczam kod. To nie jest 100% kodu, ale postępuj zgodnie z tego kodu.
namespace FirstAssembly{
public static xcass A
{
public static Stream OpenResource(string name)
{
return Reader.OpenResource(Assembly.GetCallingAssembly(), ".Resources." + name);
}
}
}
using FirstAssembly;
namespace SecondAssembly{
public static class B
{
public static Stream FileNameFromType(string Name)
{
return = A.OpenResource(string name);
}
}
}
i projekt Metoda testu
using SecondAssembly;
namespace ThirdAssembly{
public class TestC
{
[TestMethod()]
public void StremSizTest()
{
// ARRANGE
var Stream = B.FileNameFromType("ValidMetaData.xml");
// ASSERT
Assert.IsNotNull(Stream , "The Stream object should not be null.");
}
}
}
Czy któreś z tych pytań była pomocna? –
@ChrisGessler: Brak odpowiedzi jest pomocny, ponieważ wszystkie sugerują użycie Assembly.GetEntryAssembly() i zwracają tutaj NULL. –
Wszystkie oprócz mojego, które używa StackFrames –