{"action":"created","issue":{"url":"https://api.github.com/repos/clariuslabs/clide/issues/28","labels_url":"https://api.github.com/repos/clariuslabs/clide/issues/28/labels{/name}","comments_url":"https://api.github.com/repos/clariuslabs/clide/issues/28/comments","events_url":"https://api.github.com/repos/clariuslabs/clide/issues/28/events","html_url":"https://github.com/clariuslabs/clide/issues/28","id":104086812,"number":28,"title":"Consider switching to the VS MEF default catalog","user":{"login":"AArnott","id":3548,"avatar_url":"https://avatars.githubusercontent.com/u/3548?v=3","gravatar_id":"","url":"https://api.github.com/users/AArnott","html_url":"https://github.com/AArnott","followers_url":"https://api.github.com/users/AArnott/followers","following_url":"https://api.github.com/users/AArnott/following{/other_user}","gists_url":"https://api.github.com/users/AArnott/gists{/gist_id}","starred_url":"https://api.github.com/users/AArnott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AArnott/subscriptions","organizations_url":"https://api.github.com/users/AArnott/orgs","repos_url":"https://api.github.com/users/AArnott/repos","events_url":"https://api.github.com/users/AArnott/events{/privacy}","received_events_url":"https://api.github.com/users/AArnott/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-08-31T16:33:35Z","updated_at":"2015-09-02T18:46:59Z","closed_at":null,"body":"Clide current [creates its own MEF catalog and container](https://github.com/clariuslabs/clide/blob/7f047516a17979d1f9d44ff60647c25abe78ccd7/Src/Clide/DevEnvFactory.cs#L117). This makes initialization of a Clide package slower than it otherwise could be.\r\n\r\nIf instead, Clide components registered themselves in their source.extension.vsixmanifest file as MEF assemblies, VS could cache the catalog and composition and achieve faster startup times for their users."},"comment":{"url":"https://api.github.com/repos/clariuslabs/clide/issues/comments/137206944","html_url":"https://github.com/clariuslabs/clide/issues/28#issuecomment-137206944","issue_url":"https://api.github.com/repos/clariuslabs/clide/issues/28","id":137206944,"user":{"login":"kzu","id":169707,"avatar_url":"https://avatars.githubusercontent.com/u/169707?v=3","gravatar_id":"","url":"https://api.github.com/users/kzu","html_url":"https://github.com/kzu","followers_url":"https://api.github.com/users/kzu/followers","following_url":"https://api.github.com/users/kzu/following{/other_user}","gists_url":"https://api.github.com/users/kzu/gists{/gist_id}","starred_url":"https://api.github.com/users/kzu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kzu/subscriptions","organizations_url":"https://api.github.com/users/kzu/orgs","repos_url":"https://api.github.com/users/kzu/repos","events_url":"https://api.github.com/users/kzu/events{/privacy}","received_events_url":"https://api.github.com/users/kzu/received_events","type":"User","site_admin":false},"created_at":"2015-09-02T18:46:59Z","updated_at":"2015-09-02T18:46:59Z","body":"Yup, one alternative I'm toying with is making the nuget package actually just contain a .targets file that adds all the source files in Clide as <Compile />. This would allow it to use VSMEF since all types will belong to the consumer's assembly, rather than Clide's :). \r\n\r\nIt would also make it for very easy in-place patching if someone happens to find a bug, before it gets fixed and pushed to nuget. Debugging would also be way better.... "}}