Specflow插件:生成错误:缺少[assembly:GeneratorPlugin]属性

时间:2013-09-12 07:52:24

标签: c# .net-assembly specflow xunit

我正在编写一个自定义插件来自定义SpecFlow生成的自动生成的代码文件。

构建解决方案并将其放入SpecFlow测试项目的'lib'文件夹中。在保存SpecFlow功能文件时,我得到了

Specflow plugin : Generation error: Missing [assembly:GeneratorPlugin] attribute in 'path to dll'

即使我在插件程序集中标记了这个

[assembly: GeneratorPluginAttribute(typeof(CustomGeneratorPlugin))]

使用反射/自我测试我可以自己加载程序集并解析属性

代码就在这里 - https://github.com/chrismckelt/SpecFlowCustomPlugin

任何想法导致了什么?感谢

2 个答案:

答案 0 :(得分:3)

通过将以下'path'属性添加到生成器SpecFlow配置部分

来解决
<generator path=".\lib" 

完整配置

<specFlow>
    <generator allowDebugGeneratedFiles="false" allowRowTests="true" generateAsyncTests="false" path=".\lib" />
    <runtime stopAtFirstError="false" missingOrPendingStepsOutcome="Ignore" />
    <trace traceSuccessfulSteps="true" traceTimings="false" minTracedDuration="0:0:0.1" stepDefinitionSkeletonStyle="RegexAttribute" />
    <plugins>
        <add name="McKeltCustom" path=".\lib" type="GeneratorAndRuntime" />
    </plugins>
    <stepAssemblies>
        <stepAssembly assembly="SpecFlow.Assist.Dynamic" />
    </stepAssemblies>
</specFlow>

答案 1 :(得分:0)

我通过在SpecflowPlugin项目中将所有引用的TechTalk.SpecFlow dll的copy-local标志设置为false来修复此问题。