linux-x64

This commit is contained in:
Mike Harder 2018-05-09 16:50:47 -07:00 committed by GitHub
parent a2a0d6e344
commit 24e5ef2c5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 327 additions and 211 deletions

View File

@ -1,16 +1,33 @@
namespace AspNetCoreSdkTests using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
namespace AspNetCoreSdkTests
{ {
// https://docs.microsoft.com/en-us/dotnet/core/rid-catalog // https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
public class RuntimeIdentifier public class RuntimeIdentifier
{ {
public static RuntimeIdentifier None = new RuntimeIdentifier() { Name = "none" }; public static RuntimeIdentifier None = new RuntimeIdentifier() {
public static RuntimeIdentifier Win_x64 = new RuntimeIdentifier() { Name = "win-x64" }; Name = "none",
OSPlatforms = new[] { OSPlatform.Linux, OSPlatform.OSX, OSPlatform.Windows, },
};
public static RuntimeIdentifier Win_x64 = new RuntimeIdentifier() {
Name = "win-x64",
OSPlatforms = new[] { OSPlatform.Windows, },
};
public static RuntimeIdentifier Linux_x64 = new RuntimeIdentifier() {
Name = "linux-x64",
OSPlatforms = new[] { OSPlatform.Linux, },
};
private RuntimeIdentifier() { } private RuntimeIdentifier() { }
public string Name { get; private set; } public string Name { get; private set; }
public string RuntimeArgument => (this == None) ? string.Empty : $"--runtime {Name}"; public string RuntimeArgument => (this == None) ? string.Empty : $"--runtime {Name}";
public string Path => (this == None) ? string.Empty : Name; public string Path => (this == None) ? string.Empty : Name;
public IEnumerable<OSPlatform> OSPlatforms { get; private set; }
public override string ToString() => Name; public override string ToString() => Name;
} }

View File

@ -3,6 +3,7 @@ using NUnit.Framework;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Net; using System.Net;
using System.Runtime.InteropServices;
namespace AspNetCoreSdkTests namespace AspNetCoreSdkTests
{ {
@ -47,7 +48,7 @@ namespace AspNetCoreSdkTests
Assert.AreEqual(HttpStatusCode.OK, template.HttpsResponseAfterExec.StatusCode); Assert.AreEqual(HttpStatusCode.OK, template.HttpsResponseAfterExec.StatusCode);
} }
public static IEnumerable<Template> RestoreData = new[] private static IEnumerable<Template> _restoreTemplates = new[]
{ {
// Framework-dependent // Framework-dependent
Template.GetInstance<ClassLibraryTemplate>(NuGetPackageSource.None, RuntimeIdentifier.None), Template.GetInstance<ClassLibraryTemplate>(NuGetPackageSource.None, RuntimeIdentifier.None),
@ -62,11 +63,10 @@ namespace AspNetCoreSdkTests
Template.GetInstance<ReactReduxTemplate>(NuGetPackageSource.None, RuntimeIdentifier.None), Template.GetInstance<ReactReduxTemplate>(NuGetPackageSource.None, RuntimeIdentifier.None),
Template.GetInstance<WebApiTemplate>(NuGetPackageSource.None, RuntimeIdentifier.None), Template.GetInstance<WebApiTemplate>(NuGetPackageSource.None, RuntimeIdentifier.None),
// Self-contained // Self-contained, win-x64
// ClassLibrary does not require a package source, even for self-contained deployments // ClassLibrary does not require a package source, even for self-contained deployments
Template.GetInstance<ClassLibraryTemplate>(NuGetPackageSource.None, RuntimeIdentifier.Win_x64), Template.GetInstance<ClassLibraryTemplate>(NuGetPackageSource.None, RuntimeIdentifier.Win_x64),
Template.GetInstance<ConsoleApplicationTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64), Template.GetInstance<ConsoleApplicationTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64),
// Offline restore currently not supported for RazorClassLibrary template (https://github.com/aspnet/Universe/issues/1123)
Template.GetInstance<RazorClassLibraryTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64), Template.GetInstance<RazorClassLibraryTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64),
Template.GetInstance<WebTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64), Template.GetInstance<WebTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64),
Template.GetInstance<RazorTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64), Template.GetInstance<RazorTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64),
@ -75,22 +75,42 @@ namespace AspNetCoreSdkTests
Template.GetInstance<ReactTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64), Template.GetInstance<ReactTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64),
Template.GetInstance<ReactReduxTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64), Template.GetInstance<ReactReduxTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64),
Template.GetInstance<WebApiTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64), Template.GetInstance<WebApiTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Win_x64),
// Self-contained, linux-x64
Template.GetInstance<ClassLibraryTemplate>(NuGetPackageSource.None, RuntimeIdentifier.Linux_x64),
Template.GetInstance<ConsoleApplicationTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Linux_x64),
Template.GetInstance<RazorClassLibraryTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Linux_x64),
Template.GetInstance<WebTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Linux_x64),
Template.GetInstance<RazorTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Linux_x64),
Template.GetInstance<MvcTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Linux_x64),
Template.GetInstance<AngularTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Linux_x64),
Template.GetInstance<ReactTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Linux_x64),
Template.GetInstance<ReactReduxTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Linux_x64),
Template.GetInstance<WebApiTemplate>(NuGetPackageSource.NuGetOrg, RuntimeIdentifier.Linux_x64),
}; };
public static IEnumerable<Template> BuildData => RestoreData; public static IEnumerable<TestCaseData> RestoreData = _restoreTemplates.Select(t => new TestCaseData(t));
public static IEnumerable<Template> PublishData => BuildData; public static IEnumerable<TestCaseData> BuildData => RestoreData;
public static IEnumerable<Template> RunData = public static IEnumerable<TestCaseData> PublishData => BuildData;
BuildData.
public static IEnumerable<TestCaseData> RunData =
from tcd in BuildData
let t = (Template)tcd.Arguments[0]
// Only interested in verifying web applications // Only interested in verifying web applications
Where(t => t.Type == TemplateType.WebApplication). where (t.Type == TemplateType.WebApplication)
// "dotnet run" is only relevant for framework-dependent apps // "dotnet run" is only relevant for framework-dependent apps
Where(t => t.RuntimeIdentifier == RuntimeIdentifier.None); where (t.RuntimeIdentifier == RuntimeIdentifier.None)
select tcd;
public static IEnumerable<Template> ExecData = public static IEnumerable<TestCaseData> ExecData =
PublishData. from tcd in PublishData
let t = (Template)tcd.Arguments[0]
// Only interested in verifying web applications // Only interested in verifying web applications
Where(t => t.Type == TemplateType.WebApplication); where (t.Type == TemplateType.WebApplication)
// Can only run framework-dependent apps and self-contained apps matching the current platform
let runnable = t.RuntimeIdentifier.OSPlatforms.Any(p => RuntimeInformation.IsOSPlatform(p))
select (runnable ? tcd : tcd.Ignore($"RuntimeIdentifier '{t.RuntimeIdentifier}' cannot be executed on this platform"));
} }
} }

View File

@ -23,7 +23,12 @@ namespace AspNetCoreSdkTests.Templates
{ {
Path.Combine("netcoreapp2.1", RuntimeIdentifier.Path, "host", $"{Name}.exe"), Path.Combine("netcoreapp2.1", RuntimeIdentifier.Path, "host", $"{Name}.exe"),
} }
},
{ RuntimeIdentifier.Linux_x64, () => new[]
{
Path.Combine("netcoreapp2.1", RuntimeIdentifier.Path, "host", $"{Name}"),
} }
},
}; };
public override IEnumerable<string> ExpectedObjFilesAfterBuild => public override IEnumerable<string> ExpectedObjFilesAfterBuild =>
@ -47,88 +52,32 @@ namespace AspNetCoreSdkTests.Templates
"hostfxr.dll", "hostfxr.dll",
"hostpolicy.dll", "hostpolicy.dll",
}.Select(p => Path.Combine(OutputPath, p))) }.Select(p => Path.Combine(OutputPath, p)))
} },
{ RuntimeIdentifier.Linux_x64, () =>
_additionalBinFilesAfterBuild[RuntimeIdentifier.None]()
.Concat(new[]
{
$"{Name}",
"libhostfxr.so",
"libhostpolicy.so",
}.Select(p => Path.Combine(OutputPath, p)))
},
}; };
public override IEnumerable<string> ExpectedBinFilesAfterBuild => public override IEnumerable<string> ExpectedBinFilesAfterBuild =>
base.ExpectedBinFilesAfterBuild base.ExpectedBinFilesAfterBuild
.Concat(_additionalBinFilesAfterBuild[RuntimeIdentifier]()); .Concat(_additionalBinFilesAfterBuild[RuntimeIdentifier]());
private IDictionary<RuntimeIdentifier, Func<IEnumerable<string>>> _additionalFilesAfterPublish => private Func<IEnumerable<string>> _additionalFilesAfterPublishCommon = () => new[]
new Dictionary<RuntimeIdentifier, Func<IEnumerable<string>>>()
{ {
{ RuntimeIdentifier.None, () => new[]
{
$"{Name}.runtimeconfig.json",
}
},
{ RuntimeIdentifier.Win_x64, () =>
_additionalFilesAfterPublish[RuntimeIdentifier.None]()
.Concat(new[]
{
$"{Name}.exe",
"api-ms-win-core-console-l1-1-0.dll",
"api-ms-win-core-datetime-l1-1-0.dll",
"api-ms-win-core-debug-l1-1-0.dll",
"api-ms-win-core-errorhandling-l1-1-0.dll",
"api-ms-win-core-file-l1-1-0.dll",
"api-ms-win-core-file-l1-2-0.dll",
"api-ms-win-core-file-l2-1-0.dll",
"api-ms-win-core-handle-l1-1-0.dll",
"api-ms-win-core-heap-l1-1-0.dll",
"api-ms-win-core-interlocked-l1-1-0.dll",
"api-ms-win-core-libraryloader-l1-1-0.dll",
"api-ms-win-core-localization-l1-2-0.dll",
"api-ms-win-core-memory-l1-1-0.dll",
"api-ms-win-core-namedpipe-l1-1-0.dll",
"api-ms-win-core-processenvironment-l1-1-0.dll",
"api-ms-win-core-processthreads-l1-1-0.dll",
"api-ms-win-core-processthreads-l1-1-1.dll",
"api-ms-win-core-profile-l1-1-0.dll",
"api-ms-win-core-rtlsupport-l1-1-0.dll",
"api-ms-win-core-string-l1-1-0.dll",
"api-ms-win-core-synch-l1-1-0.dll",
"api-ms-win-core-synch-l1-2-0.dll",
"api-ms-win-core-sysinfo-l1-1-0.dll",
"api-ms-win-core-timezone-l1-1-0.dll",
"api-ms-win-core-util-l1-1-0.dll",
"api-ms-win-crt-conio-l1-1-0.dll",
"api-ms-win-crt-convert-l1-1-0.dll",
"api-ms-win-crt-environment-l1-1-0.dll",
"api-ms-win-crt-filesystem-l1-1-0.dll",
"api-ms-win-crt-heap-l1-1-0.dll",
"api-ms-win-crt-locale-l1-1-0.dll",
"api-ms-win-crt-math-l1-1-0.dll",
"api-ms-win-crt-multibyte-l1-1-0.dll",
"api-ms-win-crt-private-l1-1-0.dll",
"api-ms-win-crt-process-l1-1-0.dll",
"api-ms-win-crt-runtime-l1-1-0.dll",
"api-ms-win-crt-stdio-l1-1-0.dll",
"api-ms-win-crt-string-l1-1-0.dll",
"api-ms-win-crt-time-l1-1-0.dll",
"api-ms-win-crt-utility-l1-1-0.dll",
"clrcompression.dll",
"clretwrc.dll",
"clrjit.dll",
"coreclr.dll",
"dbgshim.dll",
"hostfxr.dll",
"hostpolicy.dll",
"Microsoft.CSharp.dll", "Microsoft.CSharp.dll",
"Microsoft.DiaSymReader.Native.amd64.dll",
"Microsoft.VisualBasic.dll", "Microsoft.VisualBasic.dll",
// It may seem unusual to include Microsoft.Win32 assemblies in all platforms, but it appears to be by design
// https://github.com/dotnet/corefx/issues/14896
"Microsoft.Win32.Primitives.dll", "Microsoft.Win32.Primitives.dll",
"Microsoft.Win32.Registry.dll", "Microsoft.Win32.Registry.dll",
"mscordaccore.dll",
"mscordaccore_amd64_amd64_4.6.26426.02.dll",
"mscordbi.dll",
"mscorlib.dll", "mscorlib.dll",
"mscorrc.debug.dll",
"mscorrc.dll",
"netstandard.dll", "netstandard.dll",
"sos.dll",
"SOS.NETCore.dll",
"sos_amd64_amd64_4.6.26426.02.dll",
"System.AppContext.dll", "System.AppContext.dll",
"System.Buffers.dll", "System.Buffers.dll",
"System.Collections.Concurrent.dll", "System.Collections.Concurrent.dll",
@ -277,10 +226,114 @@ namespace AspNetCoreSdkTests.Templates
"System.Xml.XmlSerializer.dll", "System.Xml.XmlSerializer.dll",
"System.Xml.XPath.dll", "System.Xml.XPath.dll",
"System.Xml.XPath.XDocument.dll", "System.Xml.XPath.XDocument.dll",
"ucrtbase.dll",
"WindowsBase.dll", "WindowsBase.dll",
}) };
private IDictionary<RuntimeIdentifier, Func<IEnumerable<string>>> _additionalFilesAfterPublish =>
new Dictionary<RuntimeIdentifier, Func<IEnumerable<string>>>()
{
{ RuntimeIdentifier.None, () => new[]
{
$"{Name}.runtimeconfig.json",
} }
},
{ RuntimeIdentifier.Win_x64, () =>
_additionalFilesAfterPublish[RuntimeIdentifier.None]()
.Concat(_additionalFilesAfterPublishCommon())
.Concat(new[]
{
$"{Name}.exe",
"api-ms-win-core-console-l1-1-0.dll",
"api-ms-win-core-datetime-l1-1-0.dll",
"api-ms-win-core-debug-l1-1-0.dll",
"api-ms-win-core-errorhandling-l1-1-0.dll",
"api-ms-win-core-file-l1-1-0.dll",
"api-ms-win-core-file-l1-2-0.dll",
"api-ms-win-core-file-l2-1-0.dll",
"api-ms-win-core-handle-l1-1-0.dll",
"api-ms-win-core-heap-l1-1-0.dll",
"api-ms-win-core-interlocked-l1-1-0.dll",
"api-ms-win-core-libraryloader-l1-1-0.dll",
"api-ms-win-core-localization-l1-2-0.dll",
"api-ms-win-core-memory-l1-1-0.dll",
"api-ms-win-core-namedpipe-l1-1-0.dll",
"api-ms-win-core-processenvironment-l1-1-0.dll",
"api-ms-win-core-processthreads-l1-1-0.dll",
"api-ms-win-core-processthreads-l1-1-1.dll",
"api-ms-win-core-profile-l1-1-0.dll",
"api-ms-win-core-rtlsupport-l1-1-0.dll",
"api-ms-win-core-string-l1-1-0.dll",
"api-ms-win-core-synch-l1-1-0.dll",
"api-ms-win-core-synch-l1-2-0.dll",
"api-ms-win-core-sysinfo-l1-1-0.dll",
"api-ms-win-core-timezone-l1-1-0.dll",
"api-ms-win-core-util-l1-1-0.dll",
"api-ms-win-crt-conio-l1-1-0.dll",
"api-ms-win-crt-convert-l1-1-0.dll",
"api-ms-win-crt-environment-l1-1-0.dll",
"api-ms-win-crt-filesystem-l1-1-0.dll",
"api-ms-win-crt-heap-l1-1-0.dll",
"api-ms-win-crt-locale-l1-1-0.dll",
"api-ms-win-crt-math-l1-1-0.dll",
"api-ms-win-crt-multibyte-l1-1-0.dll",
"api-ms-win-crt-private-l1-1-0.dll",
"api-ms-win-crt-process-l1-1-0.dll",
"api-ms-win-crt-runtime-l1-1-0.dll",
"api-ms-win-crt-stdio-l1-1-0.dll",
"api-ms-win-crt-string-l1-1-0.dll",
"api-ms-win-crt-time-l1-1-0.dll",
"api-ms-win-crt-utility-l1-1-0.dll",
"clrcompression.dll",
"clretwrc.dll",
"clrjit.dll",
"coreclr.dll",
"dbgshim.dll",
"hostfxr.dll",
"hostpolicy.dll",
"Microsoft.DiaSymReader.Native.amd64.dll",
"mscordaccore.dll",
"mscordaccore_amd64_amd64_4.6.26426.02.dll",
"mscordbi.dll",
"mscorrc.debug.dll",
"mscorrc.dll",
"sos.dll",
"SOS.NETCore.dll",
"sos_amd64_amd64_4.6.26426.02.dll",
"ucrtbase.dll",
})
},
{ RuntimeIdentifier.Linux_x64, () =>
_additionalFilesAfterPublish[RuntimeIdentifier.None]()
.Concat(_additionalFilesAfterPublishCommon())
.Concat(new[]
{
$"{Name}",
"createdump",
"libclrjit.so",
"libcoreclr.so",
"libcoreclrtraceptprovider.so",
"libdbgshim.so",
"libhostfxr.so",
"libhostpolicy.so",
"libmscordaccore.so",
"libmscordbi.so",
"libsos.so",
"libsosplugin.so",
"SOS.NETCore.dll",
"sosdocsunix.txt",
"System.Globalization.Native.so",
"System.IO.Compression.Native.a",
"System.IO.Compression.Native.so",
"System.Native.a",
"System.Native.so",
"System.Net.Http.Native.a",
"System.Net.Http.Native.so",
"System.Net.Security.Native.a",
"System.Net.Security.Native.so",
"System.Security.Cryptography.Native.OpenSsl.a",
"System.Security.Cryptography.Native.OpenSsl.so",
})
},
}; };
public override IEnumerable<string> ExpectedFilesAfterPublish => public override IEnumerable<string> ExpectedFilesAfterPublish =>

View File

@ -23,7 +23,14 @@ namespace AspNetCoreSdkTests.Templates
{ {
Path.Combine("netcoreapp2.1", RuntimeIdentifier.Path, "host", $"{Name}.exe"), Path.Combine("netcoreapp2.1", RuntimeIdentifier.Path, "host", $"{Name}.exe"),
}) })
} },
{ RuntimeIdentifier.Linux_x64, () =>
_additionalObjFilesAfterBuild[RuntimeIdentifier.None]()
.Concat(new[]
{
Path.Combine("netcoreapp2.1", RuntimeIdentifier.Path, "host", $"{Name}"),
})
},
}; };
public override IEnumerable<string> ExpectedObjFilesAfterBuild => public override IEnumerable<string> ExpectedObjFilesAfterBuild =>

View File

@ -143,7 +143,7 @@ namespace AspNetCoreSdkTests.Templates
Path.Combine("refs", "System.Xml.XPath.XDocument.dll"), Path.Combine("refs", "System.Xml.XPath.XDocument.dll"),
}.Select(p => Path.Combine(OutputPath, p))); }.Select(p => Path.Combine(OutputPath, p)));
private IEnumerable<string> _commonAdditionalFilesAfterPublish = new[] private IEnumerable<string> _additionalFilesAfterPublishCommon = new[]
{ {
"Microsoft.AspNetCore.Antiforgery.dll", "Microsoft.AspNetCore.Antiforgery.dll",
"Microsoft.AspNetCore.Authentication.Abstractions.dll", "Microsoft.AspNetCore.Authentication.Abstractions.dll",
@ -253,11 +253,43 @@ namespace AspNetCoreSdkTests.Templates
"System.Xml.XPath.XDocument.dll", "System.Xml.XPath.XDocument.dll",
}; };
private IEnumerable<string> _additionalFilesAfterPublishSelfContained = new[]
{
"System.Collections.dll",
"System.Console.dll",
"System.Diagnostics.Debug.dll",
"System.Diagnostics.FileVersionInfo.dll",
"System.Diagnostics.Tools.dll",
"System.Diagnostics.Tracing.dll",
"System.Globalization.Calendars.dll",
"System.Globalization.dll",
"System.IO.Compression.dll",
"System.IO.dll",
"System.IO.FileSystem.dll",
"System.Reflection.dll",
"System.Reflection.Extensions.dll",
"System.Reflection.Primitives.dll",
"System.Resources.ResourceManager.dll",
"System.Runtime.dll",
"System.Runtime.Extensions.dll",
"System.Runtime.Handles.dll",
"System.Runtime.InteropServices.dll",
"System.Runtime.InteropServices.RuntimeInformation.dll",
"System.Security.Cryptography.Algorithms.dll",
"System.Security.Cryptography.Csp.dll",
"System.Security.Cryptography.Encoding.dll",
"System.Security.Cryptography.X509Certificates.dll",
"System.Text.Encoding.CodePages.dll",
"System.Text.Encoding.dll",
"System.Text.Encoding.Extensions.dll",
"System.Threading.Tasks.dll",
};
private IDictionary<RuntimeIdentifier, Func<IEnumerable<string>>> _additionalFilesAfterPublish => private IDictionary<RuntimeIdentifier, Func<IEnumerable<string>>> _additionalFilesAfterPublish =>
new Dictionary<RuntimeIdentifier, Func<IEnumerable<string>>>() new Dictionary<RuntimeIdentifier, Func<IEnumerable<string>>>()
{ {
{ RuntimeIdentifier.None, () => { RuntimeIdentifier.None, () =>
_commonAdditionalFilesAfterPublish _additionalFilesAfterPublishCommon
.Concat(new[] .Concat(new[]
{ {
Path.Combine("runtimes", "debian.8-x64", "native", "System.Security.Cryptography.Native.OpenSsl.so"), Path.Combine("runtimes", "debian.8-x64", "native", "System.Security.Cryptography.Native.OpenSsl.so"),
@ -298,40 +330,21 @@ namespace AspNetCoreSdkTests.Templates
}) })
}, },
{ RuntimeIdentifier.Win_x64, () => { RuntimeIdentifier.Win_x64, () =>
_commonAdditionalFilesAfterPublish _additionalFilesAfterPublishCommon
.Concat(_additionalFilesAfterPublishSelfContained)
.Concat(new[] .Concat(new[]
{ {
"System.Collections.dll",
"System.Console.dll",
"System.Diagnostics.Debug.dll",
"System.Diagnostics.FileVersionInfo.dll",
"System.Diagnostics.Tools.dll",
"System.Diagnostics.Tracing.dll",
"System.Globalization.Calendars.dll",
"System.Globalization.dll",
"System.IO.Compression.dll",
"System.IO.dll",
"System.IO.FileSystem.dll",
"System.Reflection.dll",
"System.Reflection.Extensions.dll",
"System.Reflection.Primitives.dll",
"System.Resources.ResourceManager.dll",
"System.Runtime.dll",
"System.Runtime.Extensions.dll",
"System.Runtime.Handles.dll",
"System.Runtime.InteropServices.dll",
"System.Runtime.InteropServices.RuntimeInformation.dll",
"System.Security.Cryptography.Algorithms.dll",
"System.Security.Cryptography.Csp.dll",
"System.Security.Cryptography.Encoding.dll",
"System.Security.Cryptography.X509Certificates.dll",
"System.Text.Encoding.CodePages.dll",
"System.Text.Encoding.dll",
"System.Text.Encoding.Extensions.dll",
"System.Threading.Overlapped.dll", "System.Threading.Overlapped.dll",
"System.Threading.Tasks.dll",
}) })
} },
{ RuntimeIdentifier.Linux_x64, () =>
_additionalFilesAfterPublishCommon
.Concat(_additionalFilesAfterPublishSelfContained)
.Concat(new[]
{
"System.Private.Uri.dll",
})
},
}; };
public override IEnumerable<string> ExpectedFilesAfterPublish => public override IEnumerable<string> ExpectedFilesAfterPublish =>

View File

@ -33,6 +33,13 @@ namespace AspNetCoreSdkTests.Templates
} }
}, },
{ RuntimeIdentifier.Win_x64, () => { RuntimeIdentifier.Win_x64, () =>
_additionalFilesAfterPublish[RuntimeIdentifier.Linux_x64]()
.Concat(new[]
{
"sni.dll",
})
},
{ RuntimeIdentifier.Linux_x64, () =>
_additionalFilesAfterPublish[RuntimeIdentifier.None]() _additionalFilesAfterPublish[RuntimeIdentifier.None]()
.Concat(new[] .Concat(new[]
{ {
@ -129,7 +136,6 @@ namespace AspNetCoreSdkTests.Templates
"Microsoft.CodeAnalysis.CSharp.dll", "Microsoft.CodeAnalysis.CSharp.dll",
"Microsoft.CodeAnalysis.dll", "Microsoft.CodeAnalysis.dll",
"Microsoft.CodeAnalysis.Razor.dll", "Microsoft.CodeAnalysis.Razor.dll",
"System.Data.SqlClient.dll",
"Microsoft.DotNet.PlatformAbstractions.dll", "Microsoft.DotNet.PlatformAbstractions.dll",
"Microsoft.EntityFrameworkCore.Abstractions.dll", "Microsoft.EntityFrameworkCore.Abstractions.dll",
"Microsoft.EntityFrameworkCore.Design.dll", "Microsoft.EntityFrameworkCore.Design.dll",
@ -190,7 +196,7 @@ namespace AspNetCoreSdkTests.Templates
"Newtonsoft.Json.Bson.dll", "Newtonsoft.Json.Bson.dll",
"Newtonsoft.Json.dll", "Newtonsoft.Json.dll",
"Remotion.Linq.dll", "Remotion.Linq.dll",
"sni.dll", "System.Data.SqlClient.dll",
"System.IdentityModel.Tokens.Jwt.dll", "System.IdentityModel.Tokens.Jwt.dll",
"System.Interactive.Async.dll", "System.Interactive.Async.dll",
"System.IO.Pipelines.dll", "System.IO.Pipelines.dll",
@ -204,7 +210,7 @@ namespace AspNetCoreSdkTests.Templates
"System.Text.Encodings.Web.dll", "System.Text.Encodings.Web.dll",
"System.Threading.Channels.dll", "System.Threading.Channels.dll",
}) })
} },
}; };
public override IEnumerable<string> ExpectedFilesAfterPublish => public override IEnumerable<string> ExpectedFilesAfterPublish =>