# ITestStep implemented in OpenTap.Package.dll in 9.17.4?

**URL:** https://forum.opentap.io/t/iteststep-implemented-in-opentap-package-dll-in-9-17-4/706
**Category:** Technical
**Created:** [May 24, 2022, 5:00pm UTC](https://forum.opentap.io/t/iteststep-implemented-in-opentap-package-dll-in-9-17-4/706 "2022-05-24T17:00:28Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![GoranJohnsson](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opentap.io/goranjohnsson/32/140_2.png) [@GoranJohnsson](https://forum.opentap.io/u/GoranJohnsson)
#### Post date: [May 24, 2022, 5:00pm UTC](https://forum.opentap.io/t/iteststep-implemented-in-opentap-package-dll-in-9-17-4/706/1 "2022-05-24T17:00:28Z")

</div>

Upgrading from 9.16.4 to 9.17.4 it seems the OpenTap.Package.dll contains a plug in implementing ITestStep: PackageInstallStep ? It doesnt show up in Package Manager or TA Editor but is listed when my application lists all test steps (see screen shot) Is this expected?

 ![image](https://us1.discourse-cdn.com/flex020/uploads/opentap/original/1X/507b6ccc1f83a85981fc953535c7aefcfdabe264.png)

---

<div class="post-metadata">

### Author: ![witold.pietraszek](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opentap.io/witold.pietraszek/32/211_2.png) [@witold.pietraszek](https://forum.opentap.io/u/witold.pietraszek)
#### Post date: [May 24, 2022, 8:36pm UTC](https://forum.opentap.io/t/iteststep-implemented-in-opentap-package-dll-in-9-17-4/706/2 "2022-05-24T20:36:15Z")

</div>

It looks as if this is by intention: [PackageInstallStep.cs#L10](https://github.com/opentap/opentap/blob/main/Package/PackageInstallHelpers/PackageInstallStep.cs#L10)

---

<div class="post-metadata">

### Author: ![alexander.larsen](https://avatars.discourse-cdn.com/v4/letter/a/9d8465/32.png) [@alexander.larsen](https://forum.opentap.io/u/alexander.larsen)
#### Post date: [May 25, 2022, 7:47am UTC](https://forum.opentap.io/t/iteststep-implemented-in-opentap-package-dll-in-9-17-4/706/3 "2022-05-25T07:47:07Z")

</div>

Yes, this is intentional. It’s sort of an implementation detail, but it has to do with how we do encapsulated admin elevation now when installing system-wide packages.

---

<div class="post-metadata">

### Author: ![GoranJohnsson](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opentap.io/goranjohnsson/32/140_2.png) [@GoranJohnsson](https://forum.opentap.io/u/GoranJohnsson)
#### Post date: [May 25, 2022, 10:53am UTC](https://forum.opentap.io/t/iteststep-implemented-in-opentap-package-dll-in-9-17-4/706/4 "2022-05-25T10:53:57Z")

</div>

OK. So what is the best way to filter out this (and maybe others in future versions of OpenTAP) when scanning for installed TestSteps? Check for Browsable=false?

---

<div class="post-metadata">

### Author: ![alexander.larsen](https://avatars.discourse-cdn.com/v4/letter/a/9d8465/32.png) [@alexander.larsen](https://forum.opentap.io/u/alexander.larsen)
#### Post date: [May 25, 2022, 11:02am UTC](https://forum.opentap.io/t/iteststep-implemented-in-opentap-package-dll-in-9-17-4/706/5 "2022-05-25T11:02:24Z")

</div>

In general I would recommend filtering all non-public types, and all types with the `[Browsable(false)]` attribute. This is what the WPF Editor and the TUI does.

---

<div class="post-metadata">

### Author: ![alexander.larsen](https://avatars.discourse-cdn.com/v4/letter/a/9d8465/32.png) [@alexander.larsen](https://forum.opentap.io/u/alexander.larsen)
#### Post date: [May 25, 2022, 11:24am UTC](https://forum.opentap.io/t/iteststep-implemented-in-opentap-package-dll-in-9-17-4/706/6 "2022-05-25T11:24:57Z")

</div>

@GoranJohnsson I looked into this a bit further and `PluginManager.GetPlugins` already excludes non-public types UNLESS the containing assembly has the assembly attribute `[assembly:OpenTap.PluginAssembly(true)]`, so it should not be necessary to add code for this.

As it happens, `OpenTap.Package.dll` has this assembly attribute, which is why the plugin manager returns this internal step.

Excluding `Browsable=false` should be sufficient. Sorry about the confusion!
