我有一个正在开发的 C# 单元测试应用程序。涉及三个程序集 - C# 应用程序本身的程序集、应用程序使用的第二个程序集和第二个程序使用的第三个程序集。
所以电话是这样的:
First Assembly ------> Second Assembly---------> Third Assembly.
在第三个程序集中我需要做的是获取称为第二个程序集的拳头程序集的名称。
Assembly.GetExecutingAssembly().ManifestModule.Name
Assembly.GetCallingAssembly().ManifestModule.Name
返回第二个程序集的名称。和
Assembly.GetEntryAssembly().ManifestModule.Name
返回 NULL
有人知道是否有办法获得第一届大会的大会名称吗?
根据其他用户的要求,我把代码放在这里。这不是 100% 的代码,而是遵循这样的代码。
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);
}
}
}
和测试项目方法
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.");
}
}
}