プロジェクトをビルドしようとすると、このエラーが発生します。特集ページの単語が強調表示され、このエラーが発生します。
エラー 1 名前 'GenerationTargetLanguage' は現在のコンテキストに存在しません
各機能でカスタム ツールを実行しようとしましたが、エラーが 2 つから 3 つになりました。
Googleグループで問題を抱えている別の人を見つけました。解決策はありません。
最新バージョンの specflow をインストールしてサンプル プロジェクトをコンパイルしようとしたときに、同じ問題が発生しました。これは、サンプル プロジェクトに古いバージョンの specflow dll のローカル コピーが含まれていたためです。新しい specflow - 機能ファイル コンパイラは、存在しない specflow-dll メソッド シグネチャを呼び出すためのソースコードを生成します。
プロジェクトの lib-directory にある specflow-dll を新しいインストールの 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 では、enum GenerationTargetLanguage.CSharp を ProgrammingLanguage.CSharp に置き換える必要があります。