Alex Rivera | Logout

WCF extensions without including the assembly version

Asked 2009-11-11T16:33:31.023
11

As discussed here, I'm trying to add a WCF endpoint-extension; I've got it working, but I need to include the full assembly details:

<extensions>
    <behaviorExtensions>
        <add name="protobuf" type="ProtoBuf.ServiceModel.ProtoBehaviorExtension, protobuf-net, Version=1.0.0.275, Culture=neutral, PublicKeyToken=257b51d87d2e4d67"/>
    </behaviorExtensions>
</extensions>

What I would like to do (to avoid issues when updating etc, especially for samples) is to include just the names:

<add name="protobuf" type="ProtoBuf.ServiceModel.ProtoBehaviorExtension, protobuf-net"/>

(which is what you might expect from standard assembly-naming conventions)

However, if I do this, I get a big error:

Parser Error Message: An error occurred creating the configuration section handler for system.serviceModel/behaviors: Extension element 'protobuf' cannot be added to this element. Verify that the extension is registered in the extension collection at system.serviceModel/extensions/behaviorExtensions.

Is it possible (and if so: how) to add an extension without having to specify the assembly-version?

Edit
Report

1 Answer

10

AFAIK, it's unfortunately not possible to use partial names in the behaviorExtensions section. Strangely enough it's only for the behaviorExtensions section. For example, you can do bindingElementExtensions without full assembly name. Just looks like whoever wrote that configuration section implementation didn't allow for partial name loading where as the others did. I haven't checked to see if this is remedied in .NET 4 yet.

answered 2009-11-11T18:42:04.447

Your Answer