System.IO.Pipes.AccessControl is in the shared framework on Windows, in the Microsoft.NETCore.App package platform manifest, but missing from the shared framework on non-Windows. It was there in 2.x, but now gone in 3.0
``` C#
using System;
using System.IO.Pipes;
using System.Security.AccessControl;
namespace repro
{
class Program
{
static void Main(string[] args)
{
var x = new PipeAccessRule("foo", PipeAccessRights.FullControl, AccessControlType.Allow);
}
}
}
4. Edit repro.csproj
``` xml
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.IO.Pipes.AccessControl" Version="4.3.0" />
</ItemGroup>
</Project>
Unhandled Exception: System.PlatformNotSupportedException: Access Control List (ACL) APIs are part of resource management on Windows and are not supported on this platform.
at System.Security.AccessControl.AuthorizationRule..ctor(IdentityReference identity, Int32 accessMask, Boolean isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
at System.Security.AccessControl.AccessRule..ctor(IdentityReference identity, Int32 accessMask, Boolean isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AccessControlType type)
at System.IO.Pipes.PipeAccessRule..ctor(String identity, PipeAccessRights rights, AccessControlType type)
at repro.Program.Main(String[] args) in /home/nicholg/repro/Program.cs:line 11
You can see this working by targeting netcoreapp2.1 and running on netcoreapp2.1
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.IO.Pipes.AccessControl, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified
cc @jaredpar @tmat @ericstj @livarcocc
This is blocking an insertion with latest roslyn into the SDK.
This change regressed it: https://github.com/dotnet/corefx/commit/4e76a6c02552422ce07967f4249acad3b71b80ef
/cc @weshaggard
How involved is the fix? A quick turnaround would be much appreciated to get our toolset insertions into the SDK unblocked.
Here's a fix: https://github.com/dotnet/corefx/pull/33936
Thanks!
Fixed by dotnet/corefx#33936
Who can help me track down the code flow to core-sdk for this. We haven't gotten an insertion with this. Where in the process is this stuck:
CoreFx build has been broken for the last few days. @ViktorHofer is working on a fix.
http://mc.dot.net is the place to start looking for this info.