Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 如何为所有SpecFlow功能重新生成设计器代码_Visual Studio 2010_Bdd_Code Behind_Specflow_Customtool - Fatal编程技术网

Visual studio 2010 如何为所有SpecFlow功能重新生成设计器代码

Visual studio 2010 如何为所有SpecFlow功能重新生成设计器代码,visual-studio-2010,bdd,code-behind,specflow,customtool,Visual Studio 2010,Bdd,Code Behind,Specflow,Customtool,我有大约30个SpecFlow功能文件,最近我从源代码管理中删除了Foo.feature.cs文件,因为我厌倦了在设计器生成的代码中解决合并冲突 我没有从我的VisualStudio项目中排除或删除这些文件,所以VisualStudio仍然认为它们应该在那里,它们只是在硬盘上丢失了 理想情况下,我只想单击根文件夹并重新生成所有代码隐藏文件,但VS 2010和SpecFlow 1.9不存在这样的选项。我甚至可以从命令行以编程方式重新生成它们,创建另一个自定义工具或添加预编译构建事件 是否有一种方法

我有大约30个SpecFlow功能文件,最近我从源代码管理中删除了Foo.feature.cs文件,因为我厌倦了在设计器生成的代码中解决合并冲突

我没有从我的VisualStudio项目中排除或删除这些文件,所以VisualStudio仍然认为它们应该在那里,它们只是在硬盘上丢失了

理想情况下,我只想单击根文件夹并重新生成所有代码隐藏文件,但VS 2010和SpecFlow 1.9不存在这样的选项。我甚至可以从命令行以编程方式重新生成它们,创建另一个自定义工具或添加预编译构建事件


是否有一种方法可以为SpecFlow功能(*.feature.cs文件)重新生成设计器生成的所有代码隐藏文件,而无需右键单击每个.feature文件并单击“运行自定义工具”

您可以右键单击项目并选择“重新生成功能文件”一次完成所有操作

它在命令提示符下运行得更快。转到Specflow包工具文件夹并运行以下命令行。它还确保将正确的Specflow版本添加到文件中

specflow.exe generateall <My_Testing.csproj>
specflow.exe generateall

您也可以只保存.Feature文件,因为它会自动执行“运行自定义工具”。否则,它将模拟对RunCustomTools的调用。我希望它不会单独对每个文件进行任何类型的操作。您不能右键单击项目并选择“重新生成功能文件”吗?这个选项在vs2010中不可用吗?@SamHolder噢,天哪。就在我面前。如果你把它作为答案贴出来,我会记下来的。谢谢没问题。我现在回答。我以前不想这样做,以防我的“不在我的visual studio版本中”被否决:)谢谢你的回答。我正要做一件事,如果没有得到这个答案,我会后悔的:)奇怪,我想知道为什么右键单击单个功能文件时该菜单选项不可用。@GrantBirchmeier:您可以从单个功能文件的上下文菜单中选择“运行自定义工具”。不是很直观,但你就是这么做的。很好!伟大的命令行解决方案,如果您需要动态重新生成测试,并且不必将.feature.cs文件签入源代码管理,则对CI构建特别有用。如果您不使用Nuget,这尤其方便,因为Specflow会查找您的packages文件夹,如果找不到它,将使用1.9生成功能文件,即使您使用的是2.3+(请参见此处)