{"action":"opened","issue":{"url":"https://api.github.com/repos/dotnet/sdk/issues/2574","repository_url":"https://api.github.com/repos/dotnet/sdk","labels_url":"https://api.github.com/repos/dotnet/sdk/issues/2574/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/sdk/issues/2574/comments","events_url":"https://api.github.com/repos/dotnet/sdk/issues/2574/events","html_url":"https://github.com/dotnet/sdk/issues/2574","id":367990137,"node_id":"MDU6SXNzdWUzNjc5OTAxMzc=","number":2574,"title":"Make it easier to express dependencies among projects without referencing output assembly","user":{"login":"tmat","id":41759,"node_id":"MDQ6VXNlcjQxNzU5","avatar_url":"https://avatars0.githubusercontent.com/u/41759?v=4","gravatar_id":"","url":"https://api.github.com/users/tmat","html_url":"https://github.com/tmat","followers_url":"https://api.github.com/users/tmat/followers","following_url":"https://api.github.com/users/tmat/following{/other_user}","gists_url":"https://api.github.com/users/tmat/gists{/gist_id}","starred_url":"https://api.github.com/users/tmat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmat/subscriptions","organizations_url":"https://api.github.com/users/tmat/orgs","repos_url":"https://api.github.com/users/tmat/repos","events_url":"https://api.github.com/users/tmat/events{/privacy}","received_events_url":"https://api.github.com/users/tmat/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-08T23:44:10Z","updated_at":"2018-10-08T23:44:10Z","closed_at":null,"author_association":"MEMBER","body":"It is sometimes necessary to build project A before project B without project B referencing the assembly that A generates. In such cases one can use `ProjectReference` with `ReferenceOutputAssembly=\"false\"`. \r\n\r\nThis however is not sufficient in all scenarios, especially when these projects target different, incompatible frameworks and/or multi-target.\r\n\r\nTurns out 3 properties need to be set to make this work:\r\n```xml\r\n<ProjectReference Include=\"B.csproj\" \r\n       ReferenceOutputAssembly=\"false\"\r\n       SkipGetTargetFrameworkProperties=\"true\"\r\n       GlobalPropertiesToRemove=\"TargetFramework\" />\r\n```\r\n\r\nThis is much more complex than it should be.\r\n\r\nProposal: introduce a new item that can be use to express that this project depends on building another project, but has no implication on references. Such item could be called e.g. `ProjectBuildOrderDependency`, `DependsOnProject', etc.\r\n\r\n```xml\r\n<DependsOnProject Include=\"B.csproj\" />\r\n```"}}
{"actor":{"display_login":"tmat"}}