我在尝试构建项目时遇到此错误。它突出显示了我的功能页面中的单词并给了我这个错误。
错误 1 当前上下文中不存在名称“GenerationTargetLanguage”
我尝试在每个功能上运行自定义工具,但这使我的错误从两个相同变为三个错误。
在 google 群组中找到另一个有此问题的人。没有解决方案。
当我安装最新版本的 specflow 并尝试编译示例项目时,我遇到了同样的问题,因为该示例具有旧版本的 specflow dll 的本地副本。新的 specflow - 功能文件编译器为调用不存在的 specflow-dll 方法签名生成源代码。
我通过用我较新安装的 dll 替换项目 lib 目录中的 specflow-dll 解决了这个问题。
我在不同的情况下遇到了完全相同的错误。我最初(2011 年初)使用 msi 安装程序安装了 Specflow v1.5.0.0,但今天使用 NuGet 为特定项目安装版本 1.8.1.0(使用Install-Package SpecFlow -ProjectName MyProject
)。
我退出了 Visual Studio 的所有实例,下载并运行 v1.8.1.0 的 msi 安装程序,然后再次启动 Visual Studio,删除了我现有的功能文件并添加了新功能文件,一切正常。
我发现这是一个突破性的变化。在 xyz.feature.cs 中,枚举 GenerationTargetLanguage.CSharp 现在应该替换为 ProgrammingLanguage.CSharp