我们有一个 API Real 应用程序,它运行以下代码来获取程序集目录。
Assembly.GetEntryAssembly().Location
Result:
C:\\OriginalApplicationAPI\\bin\\Debug\\netcoreapp2.2
现在我们正在运行一个 Integration Xunit 项目,该项目正在运行原始项目中的启动、应用程序设置等。
从集成测试项目渲染运行此代码,
C:\\Users\\..\\.nuget\\packages\\microsoft.testplatform.testhost\\15.9.0\\lib\\netstandard1.5"
如何从测试项目引用 OriginalApplicationAPI 程序集位置?是通过命名空间还是项目引用?
谢谢
最佳答案
您需要知道程序集中的类型。
假设 App.MyClass
在程序集中定义。您可以使用反射来获取包含该类型的程序集的位置:
Assembly.GetAssembly(typeof(App.MyClass)).Location.
您无法使用命名空间来执行此操作,因为命名空间可以跨多个程序集存在。
或者利用
Assembly.GetExecutingAssembly().Location
关于c# - 网络核心: Find Application Assembly Location from Integration Test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57384809/