我们有一个API Real Application,它正在运行以下代码来获取程序集目录。
Assembly.GetEntryAssembly().Location
Result:
C:\\OriginalApplicationAPI\\bin\\Debug\\netcoreapp2.2
现在,我们正在运行一个Integration Xunit项目,该项目正在运行原始项目中的Startup,appsettings等。
从集成测试项目渲染器运行此代码,
C:\\Users\\..\\.nuget\\packages\\microsoft.testplatform.testhost\\15.9.0\\lib\\netstandard1.5"
如何从测试项目中引用OriginalApplicationAPI程序集位置?是按名称空间还是项目引用?
谢谢
答案 0 :(得分:0)
您将需要知道程序集中的类型。
比方说App.MyClass
是在程序集中定义的。您可以使用反射来获取包含该类型的程序集的位置:
Assembly.GetAssembly(typeof(App.MyClass)).Location.
您不能使用名称空间来执行此操作,因为名称空间可以存在于多个程序集中。
或利用
Assembly.GetExecutingAssembly().Location