The overloads of GetExports that took a constraint were removed for a couple of reasons:

Users found them confusing because they didn't not automatically filter the contract name/identity based on specified 'type'. The constraint had to do this manually, leading to very ugly and convoluted queries.

They added very little benefit over simply applying the same query over the returned Exports. This was especially true for the overload that took a strongly-typed metadata view - the constraint itself would have to query the raw metadata dictionary
(hard-coding strings, etc), whereas, it was much easier to make a query on the returned exports by looking at the strongly-typed metadata view.

In your case, this would mean that the replacement would be something similar to: