Move S.IO.FileAccess to corelib.#12206
Conversation
| <TargetingPackReference Include="mscorlib" /> | ||
| </ItemGroup> | ||
| <ItemGroup Condition="'$(TargetGroup)' != 'net46'"> | ||
| <Compile Include="System\IO\FileAccess.cs" /> |
There was a problem hiding this comment.
If nothing else still uses the file, it should be deleted, too.
| <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'net46_Debug|AnyCPU'" /> | ||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'net46_Release|AnyCPU'" /> | ||
| <ItemGroup> | ||
| <TargetingPackReference Include="mscorlib" /> |
| <AssemblyName>System.IO.FileSystem.Primitives</AssemblyName> | ||
| <IsPartialFacadeAssembly Condition="'$(TargetGroup)' == 'net46'">true</IsPartialFacadeAssembly> | ||
| <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly> | ||
| <NuGetTargetMoniker Condition="'$(TargetGroup)' == ''">.NETStandard,Version=v1.3</NuGetTargetMoniker> |
There was a problem hiding this comment.
You need to bump the assembly version and the target framework. for this library. See my docs which are still in PR #12036, and please add feedback to that PR if you have further questions.
There was a problem hiding this comment.
I have bumped the versions
This enum is used by UnmanagedMemoryStream which is required for ResourceManager.GetStream() Fixes #12169
c454e59 to
47df02f
Compare
|
@weshaggard PTAL |
| <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> | ||
| <ItemGroup> | ||
| <Project Include="System.IO.FileSystem.Primitives.Tests.csproj"/> | ||
| <Project Include="System.IO.FileSystem.Primitives.Tests.csproj"> |
| <ItemGroup> | ||
| <Project Include="System.IO.FileSystem.Primitives.Tests.csproj"/> | ||
| <Project Include="System.IO.FileSystem.Primitives.Tests.csproj"> | ||
| <TestTFMs>netcore50;net46</TestTFMs> |
There was a problem hiding this comment.
why did you remove the netcore50 test configuration? I would expect we should still make sure we test that configuration.
There was a problem hiding this comment.
Moreover, why'd you change this at all?
There was a problem hiding this comment.
I didn't catch this when I changed this back. Will fix.
There was a problem hiding this comment.
We should still keep netcore50 as a TestTFM.
There was a problem hiding this comment.
Which would mean you still need a netstandard1.3 build configuration for this project.
| <Import Project="..\dir.props" /> | ||
| <PropertyGroup> | ||
| <AssemblyVersion>4.0.2.0</AssemblyVersion> | ||
| <AssemblyVersion>4.0.3.0</AssemblyVersion> |
There was a problem hiding this comment.
We generally bump minor versions but this is just moving one type down. @ericstj what is your thoughts on version bumping in this case?
There was a problem hiding this comment.
If all that was changed was impl then we don't need to change version at all (I typically do that at the start of a release).
|
@dotnet-bot test Innerloop Ubuntu14.04 Release Build and Test please (Build Timeout) |
| <Project Include="System.IO.FileSystem.Primitives.Tests.csproj"> | ||
| <TestTFMs>netcore50;net46</TestTFMs> | ||
| <TargetGroup>netstandard1.7</TargetGroup> | ||
| <TestTFMs>netcoreapp1.1</TestTFMs> |
| "netstandard1.7": {} | ||
| }, | ||
| "supports": { | ||
| "coreFx.Test.netcore50": {}, |
There was a problem hiding this comment.
You will need to also add back this "coreFx.Test.netcore50" section otherwise it will not run for the netcore50 configuration.
|
@dotnet-bot test Innerloop CentOS7.1 Debug Build and Test please (disk IO issue) |
|
@dotnet-bot test Innerloop CentOS7.1 Release Build and Test please (disk IO issue) |
| "imports": [ | ||
| "dotnet5.4" | ||
| ] | ||
| "Microsoft.TargetingPack.Private.CoreCLR": "1.2.0-beta-24603-02" |
There was a problem hiding this comment.
"Microsoft.TargetingPack.Private.CoreCLR": "1.2.0-beta-24603-02" [](start = 8, length = 64)
Why did we make this change to bind to coreclr instead of going through System.Runtime like we did before?
There was a problem hiding this comment.
This change is necessary because UnmanagedMemoryStream has a ctor that takes a FileAccess enum and ResourceManager depends on UnmanagedMemoryStream. All of these types need to be in corelib.
There was a problem hiding this comment.
Does this not cause warnings with other duplicated types coming from System.Private.CoreLib?
| <ItemGroup> | ||
| <Project Include="System.IO.FileSystem.Primitives.Tests.csproj"/> | ||
| <Project Include="System.IO.FileSystem.Primitives.Tests.csproj"> | ||
| <TestTFMs>netcore50;net46</TestTFMs> |
There was a problem hiding this comment.
Moreover, why'd you change this at all?
|
/cc @ianhays |
| "coreFx.Test.net46": {}, | ||
| "coreFx.Test.net461": {}, | ||
| "coreFx.Test.net462": {}, | ||
| "coreFx.Test.netcoreapp1.1": {}, |
There was a problem hiding this comment.
This is required because netcoreapp1.1 is the default TestTFM now and the project file doesn't change that.
There was a problem hiding this comment.
But now if someone what's to run this on net46-net462 they can't?
There was a problem hiding this comment.
This file is unchanged now
| <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'net46_Release|AnyCPU'" /> | ||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcore50aot_Debug|AnyCPU'" /> | ||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcore50aot_Release|AnyCPU'" /> | ||
| <ItemGroup Condition="'$(TargetGroup)' == ''"> |
There was a problem hiding this comment.
nit: can you please include with the other reference below.
| <TargetGroup>net46</TargetGroup> | ||
| </Project> | ||
| <Project Include="System.IO.FileSystem.Primitives.csproj"> | ||
| <TargetGroup>netcore50aot</TargetGroup> |
There was a problem hiding this comment.
I think this needs to be netcore50
| <ProjectGuid>{6C05678E-394C-4CFF-B453-A18E28C8F2C3}</ProjectGuid> | ||
| <AssemblyName>System.IO.FileSystem.Primitives</AssemblyName> | ||
| <IsPartialFacadeAssembly Condition="'$(TargetGroup)' == 'net46'">true</IsPartialFacadeAssembly> | ||
| <IsPartialFacadeAssembly Condition="'$(TargetGroup)' != 'netcore50aot'">true</IsPartialFacadeAssembly> |
There was a problem hiding this comment.
I do not think we should be bothering with keeping the netcore50 build live. Delete it instead - it is what we are doing everywhere else.
There was a problem hiding this comment.
We cannot remove this netcore50 build. This package was portable and now is not portable to .net native.
There was a problem hiding this comment.
I do not understand. If we remove it, the package will still contain the repackaged netcore50 binary. There are many cases like this already.
There was a problem hiding this comment.
There isn't a netcore50 binary in the previous stable package
There was a problem hiding this comment.
Then just bump the default build to netstandard1.7 like I am doing it here: #12187.
|
@dotnet-bot test this please |
|
@dotnet-bot test Innerloop Ubuntu14.04 Debug Build and Test please (Build Timeout) |
| <OutputType>Library</OutputType> | ||
| <AssemblyName>System.IO.FileSystem.Primitives.Tests</AssemblyName> | ||
| <NugetTargetMoniker>.NETStandard,Version=v1.3</NugetTargetMoniker> | ||
| <NugetTargetMoniker>.NETStandard,Version=v1.7</NugetTargetMoniker> |
There was a problem hiding this comment.
Once you add the netstandard1.3 build configuration you will need to conditions this on an empty targetgroup.
* Move S.IO.FileAccess to corelib. This enum is used by UnmanagedMemoryStream which is required for ResourceManager.GetStream() Fixes dotnet/corefx#12169 * Fix Dependencies * Delete FileAccess.cs * Bump Versions * Fix test configurations * Update dependencies * Fix dependencies * Add back netcore50 test TFM * Update dependency versions * Make netcoreapp1.1 the default test tfm * Update dependencies * Update based on feedback from @ericstj * Remove unneeded changes in tests * Change test TFM to net46 * Reorder items and change netcore50aot to netcore50 * Remove a left behind aot * Remove netcoreapp1.1 from test project.json * Fix dependencies * Retarget to ns1.7 * Update package index * Test on netstandard1.3 Commit migrated from dotnet/corefx@8a0f80e
This enum is used by UnmanagedMemoryStream which is required for ResourceManager.GetStream()
Fixes #12169