{"action":"created","issue":{"url":"https://api.github.com/repos/fsharp/FSharp.Compiler.Service/issues/520","repository_url":"https://api.github.com/repos/fsharp/FSharp.Compiler.Service","labels_url":"https://api.github.com/repos/fsharp/FSharp.Compiler.Service/issues/520/labels{/name}","comments_url":"https://api.github.com/repos/fsharp/FSharp.Compiler.Service/issues/520/comments","events_url":"https://api.github.com/repos/fsharp/FSharp.Compiler.Service/issues/520/events","html_url":"https://github.com/fsharp/FSharp.Compiler.Service/issues/520","id":130166086,"number":520,"title":"Extend API to indicate project file evaluation failures from ProjectCracker.GetProjectOptionsFromProjectFileLogged","user":{"login":"duckmatt","id":3247369,"avatar_url":"https://avatars.githubusercontent.com/u/3247369?v=3","gravatar_id":"","url":"https://api.github.com/users/duckmatt","html_url":"https://github.com/duckmatt","followers_url":"https://api.github.com/users/duckmatt/followers","following_url":"https://api.github.com/users/duckmatt/following{/other_user}","gists_url":"https://api.github.com/users/duckmatt/gists{/gist_id}","starred_url":"https://api.github.com/users/duckmatt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duckmatt/subscriptions","organizations_url":"https://api.github.com/users/duckmatt/orgs","repos_url":"https://api.github.com/users/duckmatt/repos","events_url":"https://api.github.com/users/duckmatt/events{/privacy}","received_events_url":"https://api.github.com/users/duckmatt/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2016-01-31T18:43:18Z","updated_at":"2016-02-08T10:26:57Z","closed_at":null,"body":"Hi, thanks for the great work on the `ProjectCracker`, could we expose any failures of evaluating a project file through `ProjectCracker.GetProjectOptionsFromProjectFileLogged`? At the moment it seems we need to extract exceptions from the log: https://github.com/fsprojects/FSharpLint/commit/740f89cdfc88edc681a0e99266e997cf566acc92 "},"comment":{"url":"https://api.github.com/repos/fsharp/FSharp.Compiler.Service/issues/comments/181296149","html_url":"https://github.com/fsharp/FSharp.Compiler.Service/issues/520#issuecomment-181296149","issue_url":"https://api.github.com/repos/fsharp/FSharp.Compiler.Service/issues/520","id":181296149,"user":{"login":"rneatherway","id":243995,"avatar_url":"https://avatars.githubusercontent.com/u/243995?v=3","gravatar_id":"","url":"https://api.github.com/users/rneatherway","html_url":"https://github.com/rneatherway","followers_url":"https://api.github.com/users/rneatherway/followers","following_url":"https://api.github.com/users/rneatherway/following{/other_user}","gists_url":"https://api.github.com/users/rneatherway/gists{/gist_id}","starred_url":"https://api.github.com/users/rneatherway/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rneatherway/subscriptions","organizations_url":"https://api.github.com/users/rneatherway/orgs","repos_url":"https://api.github.com/users/rneatherway/repos","events_url":"https://api.github.com/users/rneatherway/events{/privacy}","received_events_url":"https://api.github.com/users/rneatherway/received_events","type":"User","site_admin":false},"created_at":"2016-02-08T10:26:57Z","updated_at":"2016-02-08T10:26:57Z","body":"That's OK, it seems sensible. I don't want to cause hassle for the downstream consumers.\r\n\r\n@dungpa @vasily-kirichenko @tpetricek @Krzysztof-Cieslak please let me know your thoughts, if any, on how the project cracking interface should look, and what information you need to get from it.\r\n\r\nIn the light of this issue, and my other thoughts, I currently intend to make two changes:\r\n\r\n1. Change the return type of `GetProjectOptionsFromProjectFileLogged` so that it indicates whether an exception was raised or not, and possibly whether the 'build' failed (although usually useful references are returned even if the 'build' fails).\r\n2. Change the logging so that rather than \"all or nothing\" it defaults to \"Error\" like the command-line MSBuild, to increase the chance of users seeing useful messages to report. An enumeration (not the MSBuild Logger one, so we don't take that dependency) or other method of specifying the log level will also be provided."}}