There are more than one way to accomplish this, but here's a pretty straight forward way to accomplish the goal.
Not a full solution, but actual parts from one.
I would check to see if you have the version of .NET that is being used to build the DLL, but odds are that you have it, or something that will work, but that's my best guess at the moment.
I'm assuming that you are compiling and running the sample code, and not your own.
The solution should build everything and then copy the appropriate files to the "bin" directory, but of course that depends upon you having defined the environmental variables that I used relative to your development environment. And since you say you "see the menu item in PWISE", then I think I can assume that the DLL and MRR files are in the "BIN" directory and the method has been made callable from a "Windows" program as ProjectWise is expecting.
Running the code "on my box", I see a dialog box indicating the count of documents that I have selected.
I'm using Visual Studio 2015 Professional and these versions of ProjectWise:
If you haven't done so already, put a breakpoint in the code and see what happens.
Otherwise, I'll need more information about your particular setup.
Ps. It's only the manage function call that doesn't work!
Great stuff - I can see the menu item in PWISE; but nothing happens when I click on it? Besides builing dll to the bin-folder - do I need to do something else?
The full code can be found here: https://github.com/DanWilliamsAtBentleyDotCom/Sample-Calling-CSharp-Code-From-Mrr-File