-
Notifications
You must be signed in to change notification settings - Fork 217
Conversation
@gkhanna79 @eerhardt PTAL |
Fixes #624 and dotnet/sdk#1002 |
@@ -24,8 +24,8 @@ public void ShouldUseEnvironmentVariableToGetDefaultLocation() | |||
.AddVariable("NUGET_PACKAGES", PackagesPath) | |||
.Build(); | |||
|
|||
var result = PackageCompilationAssemblyResolver.GetDefaultPackageDirectory(Platform.Unknown, environment); | |||
result.Should().Be(PackagesPath); | |||
var result = PackageCompilationAssemblyResolver.GetDefaultProbeDirectories(Platform.Unknown, environment); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
||
if (!string.IsNullOrEmpty(listOfDirectories)) | ||
{ | ||
return listOfDirectories.Split(new char [] {Path.PathSeparator}, StringSplitOptions.RemoveEmptyEntries ); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@@ -60,7 +60,7 @@ public void ResolvesAllAssemblies() | |||
.Build(); | |||
var library = F.Create(assemblies: F.TwoAssemblies); | |||
|
|||
var resolver = new PackageCompilationAssemblyResolver(fileSystem, PackagesPath); | |||
var resolver = new PackageCompilationAssemblyResolver(fileSystem, new string[] {PackagesPath}); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
||
if (!string.IsNullOrEmpty(packageDirectory)) | ||
{ | ||
return new string[] {packageDirectory}; |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
var packageDirectory = environment.GetEnvironmentVariable("NUGET_PACKAGES"); | ||
#if !NETSTANDARD1_3 | ||
#if NETSTANDARD1_6 | ||
var probeDirectories = AppContext.GetData("PROBING_DIRECTORIES"); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
} | ||
|
||
public bool TryResolveAssemblyPaths(CompilationLibrary library, List<string> assemblies) | ||
{ | ||
if (string.IsNullOrEmpty(_nugetPackageDirectory) || | ||
if (_nugetPackageDirectories == null || _nugetPackageDirectories.Length < 1 || |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
return new string[] {packageDirectory}; | ||
} | ||
|
||
string basePath; |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
pal::string_t deps_resolver_t::get_probe_directories() | ||
{ | ||
pal::string_t directories; | ||
for (const auto& pc : m_probes) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Do we think we'll be able to get this in in time for this to be depended on for the assemblies that go in the ASP.NET package cache tomorrow? /cc @Eilon |
bef8155
to
22544db
Compare
@ramarag have you looked at the non-Windows failures above? |
@gkhanna79 non windows builds apart from portable linux are not producing packages for Microsoft.Extensions.DependencyModel. Is it explicitly disabled for non-windows ? |
I vaguely recall so. |
2 options here:
|
@dotnet-bot test Ubuntu x64 Release Build |
done |
This issue is blocking ASP.NET so we are eager to test the fix. Which build of the SDK and/or Runtime should have this fix? |
Looks like the last good build of the runtime was the commit right before this and the subsequent ones failed with what looks like infra issues. I just kicked off another build. Hopefully it will be green. |
The build I kicked off completed with these changes in it. You can grab the latest from here: https://github.com/dotnet/core-setup . Note this is a runtime build. Not sure when it will get into the SDK but should be able to happen quickly. |
The ASP.NET build fetches the latest runtime version from https://dotnetcli.blob.core.windows.net/dotnet/master/dnvm/latest.sharedfx.win.x64.version, which still contains build 2013. We can workaround this in the ASP.NET build for now. |
The latest version of Microsoft.NETCore.App at https://dotnet.myget.org/feed/dotnet-core/package/nuget/Microsoft.NETCore.App is also 2013, so I don't think there's any workaround. |
There seems to be issue with build Finalize step where packages are pushed to NuGet Feed and update the latest version. However,all the latest build artifacts are available in Azure blob storage. You can find the latest build from |
If the issue with the finalize step can be resolved tomorrow we would rather wait. The ASP.NET build relies on the MyGet feed and it would be some work to change this. |
I just installed the latest CLI, but I'm still seeing this issue:
|
@danroth27 please check the version of Microsoft.Extensions.DependencyModel, it should be at least 2.0.0-preview1-002021 for this feature to kick in. You can find the version in the generated app.deps.json |
Ah, I'm actually getting the 1.1.0 version of that package. Looks like this is being cased by a bad dependency in MVC: "Microsoft.AspNetCore.Mvc.Core/2.0.0-preview1-final": {
"dependencies": {
"Microsoft.AspNetCore.Authorization": "2.0.0-preview1-final",
"Microsoft.AspNetCore.Hosting.Abstractions": "2.0.0-preview1-final",
"Microsoft.AspNetCore.Http": "2.0.0-preview1-final",
"Microsoft.AspNetCore.Mvc.Abstractions": "2.0.0-preview1-final",
"Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.0.0-preview1-final",
"Microsoft.AspNetCore.Routing": "2.0.0-preview1-final",
"Microsoft.Extensions.DependencyModel": "1.1.0",
"Microsoft.Extensions.FileProviders.Abstractions": "2.0.0-preview1-final",
"Microsoft.Extensions.Logging.Abstractions": "2.0.0-preview1-final",
"Microsoft.Extensions.PlatformAbstractions": "2.0.0-preview1-final",
"NETStandard.Library": "2.0.0-preview1-25211-01",
"System.Buffers": "4.3.0",
"System.Diagnostics.DiagnosticSource": "4.4.0-preview1-25205-01"
}, |
Yes, MVC will have to update its dependency to Microsoft.Extensions.DependencyModel to be the latest 2.0.0 build. It looks like it did according to https://dotnet.myget.org/feed/aspnetcore-ci-dev/package/nuget/Microsoft.AspNetCore.Mvc.Core. The latest builds have a dependency to the new DependencyModel version. An optional workaround, in the meantime, is to add |
The host passes the provided probing paths to AppContext and these can be queried by the DependencyModel when it is resolving the assemblies