{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/sdk/issues/1502","repository_url":"https://api.github.com/repos/dotnet/sdk","labels_url":"https://api.github.com/repos/dotnet/sdk/issues/1502/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/sdk/issues/1502/comments","events_url":"https://api.github.com/repos/dotnet/sdk/issues/1502/events","html_url":"https://github.com/dotnet/sdk/issues/1502","id":250772163,"number":1502,"title":"Conflict resolution from desktop MSBuild fails to get assembly identity from cross-gen'ed linux binaries","user":{"login":"ericstj","id":8918108,"avatar_url":"https://avatars3.githubusercontent.com/u/8918108?v=4","gravatar_id":"","url":"https://api.github.com/users/ericstj","html_url":"https://github.com/ericstj","followers_url":"https://api.github.com/users/ericstj/followers","following_url":"https://api.github.com/users/ericstj/following{/other_user}","gists_url":"https://api.github.com/users/ericstj/gists{/gist_id}","starred_url":"https://api.github.com/users/ericstj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericstj/subscriptions","organizations_url":"https://api.github.com/users/ericstj/orgs","repos_url":"https://api.github.com/users/ericstj/repos","events_url":"https://api.github.com/users/ericstj/events{/privacy}","received_events_url":"https://api.github.com/users/ericstj/received_events","type":"User","site_admin":false},"labels":[{"id":911539006,"url":"https://api.github.com/repos/dotnet/sdk/labels/Blocking-RTM","name":"Blocking-RTM","color":"e99695","default":false},{"id":412731487,"url":"https://api.github.com/repos/dotnet/sdk/labels/Bug","name":"Bug","color":"ee0701","default":false},{"id":511264152,"url":"https://api.github.com/repos/dotnet/sdk/labels/Urgency-Soon","name":"Urgency-Soon","color":"eb6420","default":false}],"state":"open","locked":false,"assignee":{"login":"dsplaisted","id":145043,"avatar_url":"https://avatars3.githubusercontent.com/u/145043?v=4","gravatar_id":"","url":"https://api.github.com/users/dsplaisted","html_url":"https://github.com/dsplaisted","followers_url":"https://api.github.com/users/dsplaisted/followers","following_url":"https://api.github.com/users/dsplaisted/following{/other_user}","gists_url":"https://api.github.com/users/dsplaisted/gists{/gist_id}","starred_url":"https://api.github.com/users/dsplaisted/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsplaisted/subscriptions","organizations_url":"https://api.github.com/users/dsplaisted/orgs","repos_url":"https://api.github.com/users/dsplaisted/repos","events_url":"https://api.github.com/users/dsplaisted/events{/privacy}","received_events_url":"https://api.github.com/users/dsplaisted/received_events","type":"User","site_admin":false},"assignees":[{"login":"dsplaisted","id":145043,"avatar_url":"https://avatars3.githubusercontent.com/u/145043?v=4","gravatar_id":"","url":"https://api.github.com/users/dsplaisted","html_url":"https://github.com/dsplaisted","followers_url":"https://api.github.com/users/dsplaisted/followers","following_url":"https://api.github.com/users/dsplaisted/following{/other_user}","gists_url":"https://api.github.com/users/dsplaisted/gists{/gist_id}","starred_url":"https://api.github.com/users/dsplaisted/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsplaisted/subscriptions","organizations_url":"https://api.github.com/users/dsplaisted/orgs","repos_url":"https://api.github.com/users/dsplaisted/repos","events_url":"https://api.github.com/users/dsplaisted/events{/privacy}","received_events_url":"https://api.github.com/users/dsplaisted/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/dotnet/sdk/milestones/8","html_url":"https://github.com/dotnet/sdk/milestone/8","labels_url":"https://api.github.com/repos/dotnet/sdk/milestones/8/labels","id":2386000,"number":8,"title":"2.1.3xx","description":"","creator":{"login":"dsplaisted","id":145043,"avatar_url":"https://avatars3.githubusercontent.com/u/145043?v=4","gravatar_id":"","url":"https://api.github.com/users/dsplaisted","html_url":"https://github.com/dsplaisted","followers_url":"https://api.github.com/users/dsplaisted/followers","following_url":"https://api.github.com/users/dsplaisted/following{/other_user}","gists_url":"https://api.github.com/users/dsplaisted/gists{/gist_id}","starred_url":"https://api.github.com/users/dsplaisted/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsplaisted/subscriptions","organizations_url":"https://api.github.com/users/dsplaisted/orgs","repos_url":"https://api.github.com/users/dsplaisted/repos","events_url":"https://api.github.com/users/dsplaisted/events{/privacy}","received_events_url":"https://api.github.com/users/dsplaisted/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":120,"state":"open","created_at":"2017-03-14T19:45:46Z","updated_at":"2018-04-24T20:26:36Z","due_on":null,"closed_at":null},"comments":31,"created_at":"2017-08-16T21:57:18Z","updated_at":"2018-04-24T20:59:44Z","closed_at":null,"author_association":"MEMBER","body":"1. Crete a new console project.\r\n2. Modify the contents to the following.\r\n```\r\n<Project Sdk=\"Microsoft.NET.Sdk\">\r\n\r\n  <PropertyGroup>\r\n    <OutputType>Exe</OutputType>\r\n    <TargetFramework>netcoreapp2.0</TargetFramework>\r\n    <RuntimeIdentifier>centos.7-x64</RuntimeIdentifier>\r\n  </PropertyGroup>\r\n\r\n  <ItemGroup>\r\n    <PackageReference Include=\"System.Threading\" Version=\"4.3.0\" />\r\n  </ItemGroup>\r\n\r\n</Project>\r\n```\r\n\r\n3. dotnet restore\r\n4. dotnet publish --> works correctly\r\n5. msbuild /t:publish --> app will fail to start with a refdef mismatch for System.Threading.  \r\n\r\nThis is because the System.Threading.dll conflict isn't being resolved.  If you examine the log you'll see\r\n```\r\nEncountered conflict between 'CopyLocal:C:\\Users\\ericstj\\.nuget\\packages\\runtime.linux-x64.microsoft.netcore.app\\2.0.0\\runtimes\\linux-x64\\lib\\netcoreapp2.0\\System.Threading.dll' and 'CopyLocal:C:\\Users\\ericstj\\.nuget\\packages\\system.threading\\4.3.0\\lib\\netstandard1.3\\System.Threading.dll'.  Could not determine a winner because 'CopyLocal:C:\\Users\\ericstj\\.nuget\\packages\\runtime.linux-x64.microsoft.netcore.app\\2.0.0\\runtimes\\linux-x64\\lib\\netcoreapp2.0\\System.Threading.dll' is not an assembly.\r\n```\r\n\r\nCompare this to the following in dotnet publish:\r\n```\r\nEncountered conflict between 'CopyLocal:C:\\Users\\ericstj\\.nuget\\packages\\runtime.linux-x64.microsoft.netcore.app\\2.0.0\\runtimes\\linux-x64\\lib\\netcoreapp2.0\\System.Threading.dll' and 'CopyLocal:C:\\Users\\ericstj\\.nuget\\packages\\system.threading\\4.0.11\\lib\\netstandard1.3\\System.Threading.dll'.  Choosing 'CopyLocal:C:\\Users\\ericstj\\.nuget\\packages\\runtime.linux-x64.microsoft.netcore.app\\2.0.0\\runtimes\\linux-x64\\lib\\netcoreapp2.0\\System.Threading.dll' because AssemblyVersion '4.1.0.0' is greater than '4.0.11.0'.\r\n```\r\n\r\nIt would seem that the [desktop implementation](https://github.com/dotnet/sdk/blob/a34f9e69bad5c38a897e7102a16a242a82fa278d/src/Tasks/Common/src/FileUtilities.net45.cs#L13-L22) for getting the assembly version can't handle the cross-gened assemblies, however the [core implementation ](https://github.com/dotnet/sdk/blob/a34f9e69bad5c38a897e7102a16a242a82fa278d/src/Tasks/Common/src/FileUtilities.netstandard.cs#L17-L40) can.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/dotnet/sdk/issues/comments/384078119","html_url":"https://github.com/dotnet/sdk/issues/1502#issuecomment-384078119","issue_url":"https://api.github.com/repos/dotnet/sdk/issues/1502","id":384078119,"user":{"login":"nguerrera","id":75470,"avatar_url":"https://avatars0.githubusercontent.com/u/75470?v=4","gravatar_id":"","url":"https://api.github.com/users/nguerrera","html_url":"https://github.com/nguerrera","followers_url":"https://api.github.com/users/nguerrera/followers","following_url":"https://api.github.com/users/nguerrera/following{/other_user}","gists_url":"https://api.github.com/users/nguerrera/gists{/gist_id}","starred_url":"https://api.github.com/users/nguerrera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nguerrera/subscriptions","organizations_url":"https://api.github.com/users/nguerrera/orgs","repos_url":"https://api.github.com/users/nguerrera/repos","events_url":"https://api.github.com/users/nguerrera/events{/privacy}","received_events_url":"https://api.github.com/users/nguerrera/received_events","type":"User","site_admin":false},"created_at":"2018-04-24T20:59:44Z","updated_at":"2018-04-24T20:59:44Z","author_association":"MEMBER","body":"Spoke to @tmat offline about @jaredpar's specific concern of just having a mismatched S.R.M or S.C.I on disk in VS install breaking VS ngen. It seems to not be an issue here because the directories probed are defined in vsn.exe.config. There are various copies of different versions in Program Files\\dotnet (where we install, not in the list) and they haven't ever triggered a VS NGEN break.\r\n\r\nSo I think we can carry v1.5.0 and use it on a fallback path (so that we don't load / JIT unnecessarily). And without any app-domain or assembly resolve shenanigans.\r\n\r\nI think there's non-zero risk here, but I'm not seeing how to fix this bug without taking it.\r\n\r\nI do like the idea of static linking things like nuget and srm into the build task at some point, but I don't think we can afford to make that a pre-req of this bug fix.\r\n\r\n\r\n\r\n\r\n\r\n\r\n"}}
{"actor":{"display_login":"nguerrera"}}