C#报错:'ExtentReports'是命名空间却被当作类型使用
解决ExtentReports声明错误:“命名空间被当作类型使用”
问题原因
AventStack.ExtentReports是命名空间,而该命名空间下存在同名的ExtentReports类。直接写ExtentReports时,编译器会优先将其识别为命名空间而非类,因此触发错误。
解决方案
方案1:使用完全限定类名
直接在声明时指定完整的命名空间路径,明确告诉编译器要使用的是类:
using NUnit.Framework; using AventStack.ExtentReports; using AventStack.ExtentReports.Reporter; namespace TestProject1.BaseClass { [TestFixture] public class BaseTest { public IWebDriver driver; public AventStack.ExtentReports.ExtentReports ext; // 明确指定类的完整路径 } }
方案2:给类设置别名
在using语句中为ExtentReports类设置别名,后续通过别名使用类:
using NUnit.Framework; using AventStack.ExtentReports; using ExtentReportsClass = AventStack.ExtentReports.ExtentReports; // 设置别名 using AventStack.ExtentReports.Reporter; namespace TestProject1.BaseClass { [TestFixture] public class BaseTest { public IWebDriver driver; public ExtentReportsClass ext; // 使用别名声明变量 } }
额外检查
- 确认已正确安装
AventStack.ExtentReportsNuGet包,版本需与项目框架兼容。 - 清理项目并重新编译,避免缓存导致的识别问题。
内容的提问来源于stack exchange,提问作者VPNyr
相关产品推荐
相关产品推荐

