{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/cli/issues/4330","repository_url":"https://api.github.com/repos/dotnet/cli","labels_url":"https://api.github.com/repos/dotnet/cli/issues/4330/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/cli/issues/4330/comments","events_url":"https://api.github.com/repos/dotnet/cli/issues/4330/events","html_url":"https://github.com/dotnet/cli/issues/4330","id":181302244,"number":4330,"title":"Project file cleanup of migrated projects","user":{"login":"srivatsn","id":20570,"avatar_url":"https://avatars.githubusercontent.com/u/20570?v=3","gravatar_id":"","url":"https://api.github.com/users/srivatsn","html_url":"https://github.com/srivatsn","followers_url":"https://api.github.com/users/srivatsn/followers","following_url":"https://api.github.com/users/srivatsn/following{/other_user}","gists_url":"https://api.github.com/users/srivatsn/gists{/gist_id}","starred_url":"https://api.github.com/users/srivatsn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/srivatsn/subscriptions","organizations_url":"https://api.github.com/users/srivatsn/orgs","repos_url":"https://api.github.com/users/srivatsn/repos","events_url":"https://api.github.com/users/srivatsn/events{/privacy}","received_events_url":"https://api.github.com/users/srivatsn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/cli/labels/1%20-%20Ready","name":"1 - Ready","color":"cccccc"}],"state":"open","locked":false,"assignee":{"login":"brthor","id":14280892,"avatar_url":"https://avatars.githubusercontent.com/u/14280892?v=3","gravatar_id":"","url":"https://api.github.com/users/brthor","html_url":"https://github.com/brthor","followers_url":"https://api.github.com/users/brthor/followers","following_url":"https://api.github.com/users/brthor/following{/other_user}","gists_url":"https://api.github.com/users/brthor/gists{/gist_id}","starred_url":"https://api.github.com/users/brthor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brthor/subscriptions","organizations_url":"https://api.github.com/users/brthor/orgs","repos_url":"https://api.github.com/users/brthor/repos","events_url":"https://api.github.com/users/brthor/events{/privacy}","received_events_url":"https://api.github.com/users/brthor/received_events","type":"User","site_admin":false},"assignees":[{"login":"brthor","id":14280892,"avatar_url":"https://avatars.githubusercontent.com/u/14280892?v=3","gravatar_id":"","url":"https://api.github.com/users/brthor","html_url":"https://github.com/brthor","followers_url":"https://api.github.com/users/brthor/followers","following_url":"https://api.github.com/users/brthor/following{/other_user}","gists_url":"https://api.github.com/users/brthor/gists{/gist_id}","starred_url":"https://api.github.com/users/brthor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brthor/subscriptions","organizations_url":"https://api.github.com/users/brthor/orgs","repos_url":"https://api.github.com/users/brthor/repos","events_url":"https://api.github.com/users/brthor/events{/privacy}","received_events_url":"https://api.github.com/users/brthor/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/dotnet/cli/milestones/11","html_url":"https://github.com/dotnet/cli/milestones/1.0.0-preview3","labels_url":"https://api.github.com/repos/dotnet/cli/milestones/11/labels","id":1783772,"number":11,"title":"1.0.0-preview3","description":"","creator":{"login":"piotrpMSFT","id":2379589,"avatar_url":"https://avatars.githubusercontent.com/u/2379589?v=3","gravatar_id":"","url":"https://api.github.com/users/piotrpMSFT","html_url":"https://github.com/piotrpMSFT","followers_url":"https://api.github.com/users/piotrpMSFT/followers","following_url":"https://api.github.com/users/piotrpMSFT/following{/other_user}","gists_url":"https://api.github.com/users/piotrpMSFT/gists{/gist_id}","starred_url":"https://api.github.com/users/piotrpMSFT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/piotrpMSFT/subscriptions","organizations_url":"https://api.github.com/users/piotrpMSFT/orgs","repos_url":"https://api.github.com/users/piotrpMSFT/repos","events_url":"https://api.github.com/users/piotrpMSFT/events{/privacy}","received_events_url":"https://api.github.com/users/piotrpMSFT/received_events","type":"User","site_admin":false},"open_issues":35,"closed_issues":80,"state":"open","created_at":"2016-05-23T22:32:41Z","updated_at":"2016-10-14T02:20:30Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2016-10-06T01:03:22Z","updated_at":"2016-10-14T18:40:56Z","closed_at":null,"body":"## Steps to reproduce\r\ndotnet migrate a simple app \r\n\r\n```json\r\n{\r\n  \"version\": \"1.0.0-*\",\r\n  \"buildOptions\": {\r\n    \"emitEntryPoint\": true\r\n  },\r\n\r\n  \"dependencies\": {\r\n    \"Microsoft.NETCore.App\": {\r\n      \"type\": \"platform\",\r\n      \"version\": \"1.0.1\"\r\n    },\r\n    \"MyLib\": \"1.0.0-*\"\r\n  },\r\n\r\n  \"frameworks\": {\r\n    \"netcoreapp1.0\": {\r\n      \"imports\": \"dnxcore50\"\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## Expected  behavior\r\n```xml\r\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" />\r\n  <PropertyGroup>\r\n    <VersionPrefix>1.0.0</VersionPrefix>\r\n    <TargetFrameworks>netcoreapp1.0</TargetFrameworks>\r\n    <OutputType>Exe</OutputType>\r\n  </PropertyGroup>\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.NETCore.App\">\r\n      <Version>1.0.1</Version>\r\n    </PackageReference>\r\n    <PackageReference Include=\"Microsoft.NETCore.Sdk\">\r\n      <Version>1.0.0-alpha-20160930-1</Version>\r\n    </PackageReference>\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <Compile Include=\"**\\*.cs\"  />\r\n    <EmbeddedResource Include=\"**\\*.resx\"  />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <ProjectReference Include=\"..\\MyLib\\MyLib.csproj\" />\r\n  </ItemGroup>\r\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\r\n</Project>\r\n```\r\n\r\n## Actual behavior\r\n```xml\r\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" />\r\n  <PropertyGroup>\r\n    <OutputPath>bin\\$(Configuration)</OutputPath>\r\n  </PropertyGroup>\r\n  <PropertyGroup>\r\n    <VersionPrefix>1.0.0</VersionPrefix>\r\n    <TargetFrameworks>netcoreapp1.0</TargetFrameworks>\r\n    <AssemblyName>MyApp</AssemblyName>\r\n    <OutputType>Exe</OutputType>\r\n    <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>\r\n    <AutoUnify>true</AutoUnify>\r\n    <DesignTimeAutoUnify>true</DesignTimeAutoUnify>\r\n    <ProjectLockFile>$(MSBuildProjectDirectory)/project.lock.json</ProjectLockFile>\r\n  </PropertyGroup>\r\n  <ItemGroup>\r\n    <PackageReference Include=\"Microsoft.NETCore.App\">\r\n      <Version>1.0.1</Version>\r\n    </PackageReference>\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <Compile Include=\"**\\*.cs\" Exclude=\"bin\\**;obj\\**;**\\*.xproj;packages\\**\" />\r\n    <EmbeddedResource Include=\"**\\*.resx\" Exclude=\"bin\\**;obj\\**;**\\*.xproj;packages\\**\" />\r\n    <EmbeddedResource Include=\"compiler\\resources\\**\\*\" Exclude=\"bin\\**;obj\\**;**\\*.xproj;packages\\**\" />\r\n    <PackageReference Include=\"Microsoft.NETCore.Sdk\">\r\n      <Version>1.0.0-alpha-20160930-1</Version>\r\n    </PackageReference>\r\n  </ItemGroup>\r\n  <ItemGroup Condition=\" '$(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion)' == '.NETCoreApp,Version=v1.0' \">\r\n    <ProjectReference Include=\"..\\MyLib\\MyLib.csproj\" />\r\n  </ItemGroup>\r\n  <PropertyGroup Condition=\" '$(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion)' == '.NETCoreApp,Version=v1.0' \">\r\n    <DefineConstants>$(DefineConstants);NETCOREAPP1_0</DefineConstants>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\" '$(Configuration)' == 'Debug' \">\r\n    <DefineConstants>$(DefineConstants);DEBUG;TRACE</DefineConstants>\r\n  </PropertyGroup>\r\n  <PropertyGroup Condition=\" '$(Configuration)' == 'Release' \">\r\n    <DefineConstants>$(DefineConstants);RELEASE;TRACE</DefineConstants>\r\n    <Optimize>true</Optimize>\r\n  </PropertyGroup>\r\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\r\n</Project>\r\n```\r\n\r\nNotable changes needed:\r\n\r\n- Drop the xml tag at the top. MSbuild doesn't need it.\r\n- Properties OutputPath, AutoUnify, DesignTimeAutoUnify, AssemblyName should be deleted. The SDK already includes these.\r\n- Don't know what PackageRequireLicenseAcceptance does but it seems very odd to have that. We should put that in the SDK if it's needed.\r\n- PackageReference items should be in the same itemgroup\r\n- Excludes should be removed. If there are any default exclude globs missing, add that to the SDK.\r\n- The ProjectReference shouldn't be conditioned on the TFM when it's the same as the one that the project is targeting.\r\n- When it needs to be conditioned (because there are multiple TFs say) then it should use the $(TargetFramework) property for brevity and correctness.\r\n- The constants for debug\\release are already in the SDK - can be removed.\r\n- The constants for TFMs should be added to the SDK. \r\n\r\nAs a principle, I think it's fine to make these changes and force the SDK to react to the breaks since the SDK is mostly in shape now.\r\n\r\n\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/dotnet/cli/issues/comments/253886767","html_url":"https://github.com/dotnet/cli/issues/4330#issuecomment-253886767","issue_url":"https://api.github.com/repos/dotnet/cli/issues/4330","id":253886767,"user":{"login":"rainersigwald","id":3347530,"avatar_url":"https://avatars.githubusercontent.com/u/3347530?v=3","gravatar_id":"","url":"https://api.github.com/users/rainersigwald","html_url":"https://github.com/rainersigwald","followers_url":"https://api.github.com/users/rainersigwald/followers","following_url":"https://api.github.com/users/rainersigwald/following{/other_user}","gists_url":"https://api.github.com/users/rainersigwald/gists{/gist_id}","starred_url":"https://api.github.com/users/rainersigwald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rainersigwald/subscriptions","organizations_url":"https://api.github.com/users/rainersigwald/orgs","repos_url":"https://api.github.com/users/rainersigwald/repos","events_url":"https://api.github.com/users/rainersigwald/events{/privacy}","received_events_url":"https://api.github.com/users/rainersigwald/received_events","type":"User","site_admin":false},"created_at":"2016-10-14T18:40:56Z","updated_at":"2016-10-14T18:40:56Z","body":"I think MSBuild will always keep the xml tag if it was originally present, and I don't think there's a way to tell us to remove it. @AndyGerlicher is that right?"}}
{"actor":{"display_login":"rainersigwald"}}