in EnvDTE.Host/Callback/Util/EnvDteCallbackProviderExtensions.cs [96:107]
public static void SetWithSolutionMarkAsync<TReq, TRes>(
this IRdEndpoint<TReq, TRes> endpoint,
ISolution solution,
Func<Lifetime, TReq, ISolutionMark, Task<TRes>> func) =>
endpoint.SetAsync(async (lifetime, req) =>
{
var solutionMark = solution.GetSolutionMark();
if (solutionMark is null)
throw new InvalidOperationException("Unable to get the solution mark.");
return await func(lifetime, req, solutionMark);
});