Migrate from project.json to MSBuild - #3398
Conversation
5afd4d7 to
668b9f5
Compare
| "Microsoft.NETCore.App": "1.1.0", | ||
| "Microsoft.DotNet.ProjectModel": "1.0.0-rc3-1-003177", | ||
| "Microsoft.DotNet.Cli.Utils": "1.0.0-preview3-004056" | ||
| "Microsoft.DotNet.ProjectModel": "1.0.0-rc3-1-003177" |
There was a problem hiding this comment.
It seems the file src/TypeCatalogParser/project.json should be removed.
| "frameworks": { | ||
| "netcoreapp1.1": { | ||
| "imports": [ "dnxcore50", "portable-net45+win8" ], | ||
| "buildOptions": { |
There was a problem hiding this comment.
It seems the file src/powershell-unix/project.json should be removed.
| "frameworks": { | ||
| "netcoreapp1.1": { | ||
| "imports": [ "dnxcore50", "portable-net45+win8" ], | ||
| "dependencies": { |
There was a problem hiding this comment.
It seems the file test/PSReadLine/project.json should be removed.
| "imports": [ "dnxcore50", "portable-net45+win8" ], | ||
| "dependencies": { | ||
| "xunit": "2.2.0-beta4-build3444", | ||
| "xunit": "2.2.0", |
There was a problem hiding this comment.
It seems the file test/csharp/project.json should be removed.
There was a problem hiding this comment.
Good catch, thank you! These project.json files were revived when I was resolving the conflicts.
Jason Shirk (lzybkr)
left a comment
There was a problem hiding this comment.
We'll want to move many of the commonly set properties into a shared .props and include it, but this is fine for a first cut.
Track it by #3406 |
|
Talked to Travis Plunk (@TravisEz13) offline and he has verified that the MSBuild change works on OpenSUSE. |
| </PropertyGroup> | ||
|
|
||
| <ItemGroup> | ||
| <ProjectReference Include="..\Microsoft.PowerShell.Security\Microsoft.PowerShell.Security.csproj" /> |
There was a problem hiding this comment.
Why not "ProjectReference Include="..\System.Management.Automation\System.Management.Automation.csproj" /" ?
There was a problem hiding this comment.
Microsoft.PowerShell.Security.csproj has a ProjectReference to System.Management.Automation.csproj, so the dependency is chained together.
There was a problem hiding this comment.
I ask because all other csproj files contains direct reference on "System.Management.Automation.csproj" and only the file contains indirect reference.
|
It seems CorePsTypeCatalog.cs don't updated by TypeCatalogGen.exe . Is it well? |
|
Ilya (@iSazonov) |
|
After |
|
You need |
|
|
|
Say we move to .NET Core 2.0 and you are still using |
|
Thanks for clarify! It looks that we should add this ( |
- FullCLR build is disabled in this change. - FullCLR build related functionalities in `build.psm1` and `AppVeyor.psm1` are disabled. They are not cleaned up from `build.psm1` and `AppVeyor.psm1` yet. We need to adopt .NET Core 2.0 to verify the portable module concept, and if that works well, we will remove the Windows PowerShell source code and clean up our scripts. - `dnxcore50` and `portable-net5+win8` target framework monikers are removed. - Dependency on `Microsoft.NETCore.Portable.Compatibility` is removed. It's not necessary, but it may come back when we work on supporting the `portable module`. Its necessity can be reviewed at that time. - I didn't spend the time to try building powershell in Visual Studio 2017. We should have a separate issue for that. It's tracked by PowerShell#3400 The `TypeCatalogParser` project is replaced by a MSBuild target to gather the dependency information. Due to .NET Core SDK issue [PowerShell#1021](dotnet/sdk#1021), our meta-package project `Microsoft.PowerShell.SDK` starts to generate an empty assembly during the build and that results in an empty assembly `Microsoft.PowerShell.SDK.dll` appear in `publish` folder and in `.deps.json` file. We cannot simply remove the assembly because it's now part of the TPA, and removing it will cause powershell to crash at startup. We have to live with this empty assembly until that .NET Core SDK issue is fixed. It's tracked by PowerShell#3401.
Fix #3140
build.psm1andAppVeyor.psm1are disabled. They are not cleaned up frombuild.psm1andAppVeyor.psm1yet. We need to adopt .NET Core 2.0 to verify the portable module concept, and if that works well, we will remove the Windows PowerShell source code and clean up our scripts.dnxcore50andportable-net5+win8target framework monikers are removed.Microsoft.NETCore.Portable.Compatibilityis removed. It's not necessary, but it may come back when we work on supporting theportable module. Its necessity can be reviewed at that time.The
TypeCatalogParserproject is replaced by a MSBuild target to gather the dependency information.Due to .NET Core SDK issue #1021, our meta-package project
Microsoft.PowerShell.SDKstarts to generate an empty assembly during the build and that results in an empty assemblyMicrosoft.PowerShell.SDK.dllappear inpublishfolder and in.deps.jsonfile. We cannot simply remove the assembly because it's now part of the TPA, and removing it will cause powershell to crash at startup. We have to live with this empty assembly until that .NET Core SDK issue is fixed. It's tracked by #3401/cc: @PowerShell/area-build