diff --git a/src/Microsoft.Extensions.Localization/ResourceManagerStringLocalizerFactory.cs b/src/Microsoft.Extensions.Localization/ResourceManagerStringLocalizerFactory.cs index 766094bc35..b08040ffda 100644 --- a/src/Microsoft.Extensions.Localization/ResourceManagerStringLocalizerFactory.cs +++ b/src/Microsoft.Extensions.Localization/ResourceManagerStringLocalizerFactory.cs @@ -6,8 +6,8 @@ using System.Collections.Concurrent; using System.IO; using System.Reflection; using System.Resources; +using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Options; -using Microsoft.Extensions.PlatformAbstractions; namespace Microsoft.Extensions.Localization { @@ -19,21 +19,21 @@ namespace Microsoft.Extensions.Localization private readonly IResourceNamesCache _resourceNamesCache = new ResourceNamesCache(); private readonly ConcurrentDictionary _localizerCache = new ConcurrentDictionary(); - private readonly IApplicationEnvironment _applicationEnvironment; + private readonly IHostingEnvironment _hostingEnvironment; private readonly string _resourcesRelativePath; /// /// Creates a new . /// - /// The . + /// The . /// The . public ResourceManagerStringLocalizerFactory( - IApplicationEnvironment applicationEnvironment, + IHostingEnvironment hostingEnvironment, IOptions localizationOptions) { - if (applicationEnvironment == null) + if (hostingEnvironment == null) { - throw new ArgumentNullException(nameof(applicationEnvironment)); + throw new ArgumentNullException(nameof(hostingEnvironment)); } if (localizationOptions == null) @@ -41,7 +41,7 @@ namespace Microsoft.Extensions.Localization throw new ArgumentNullException(nameof(localizationOptions)); } - _applicationEnvironment = applicationEnvironment; + _hostingEnvironment = hostingEnvironment; _resourcesRelativePath = localizationOptions.Value.ResourcesPath ?? string.Empty; if (!string.IsNullOrEmpty(_resourcesRelativePath)) { @@ -69,8 +69,8 @@ namespace Microsoft.Extensions.Localization // Re-root the base name if a resources path is set var baseName = string.IsNullOrEmpty(_resourcesRelativePath) ? typeInfo.FullName - : _applicationEnvironment.ApplicationName + "." + _resourcesRelativePath - + TrimPrefix(typeInfo.FullName, _applicationEnvironment.ApplicationName + "."); + : _hostingEnvironment.ApplicationName + "." + _resourcesRelativePath + + TrimPrefix(typeInfo.FullName, _hostingEnvironment.ApplicationName + "."); return _localizerCache.GetOrAdd(baseName, _ => new ResourceManagerStringLocalizer( @@ -94,7 +94,7 @@ namespace Microsoft.Extensions.Localization throw new ArgumentNullException(nameof(baseName)); } - location = location ?? _applicationEnvironment.ApplicationName; + location = location ?? _hostingEnvironment.ApplicationName; baseName = location + "." + _resourcesRelativePath + TrimPrefix(baseName, location + "."); diff --git a/src/Microsoft.Extensions.Localization/project.json b/src/Microsoft.Extensions.Localization/project.json index 7b15f7a4c7..dec8a5833c 100644 --- a/src/Microsoft.Extensions.Localization/project.json +++ b/src/Microsoft.Extensions.Localization/project.json @@ -14,7 +14,7 @@ "xmlDoc": true }, "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-*", + "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0-*", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-*", "Microsoft.Extensions.Localization.Abstractions": "1.0.0-*", "Microsoft.Extensions.Options": "1.0.0-*" diff --git a/test/Microsoft.Extensions.Localization.Tests/ResourceManagerStringLocalizerFactoryTest.cs b/test/Microsoft.Extensions.Localization.Tests/ResourceManagerStringLocalizerFactoryTest.cs index e6d05871af..e06056af98 100644 --- a/test/Microsoft.Extensions.Localization.Tests/ResourceManagerStringLocalizerFactoryTest.cs +++ b/test/Microsoft.Extensions.Localization.Tests/ResourceManagerStringLocalizerFactoryTest.cs @@ -1,15 +1,11 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Xunit; -using Moq; -using Microsoft.Extensions.PlatformAbstractions; -using Microsoft.Extensions.Options; using System.Reflection; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Options; +using Moq; +using Xunit; namespace Microsoft.Extensions.Localization.Test { @@ -19,12 +15,12 @@ namespace Microsoft.Extensions.Localization.Test public void Create_FromType_ReturnsCachedResultForSameType() { // Arrange - var appEnv = new Mock(); - appEnv.SetupGet(a => a.ApplicationName).Returns("TestApplication"); + var hostingEnvironment = new Mock(); + hostingEnvironment.SetupGet(a => a.ApplicationName).Returns("TestApplication"); var locOptions = new LocalizationOptions(); var options = new Mock>(); options.Setup(o => o.Value).Returns(locOptions); - var factory = new ResourceManagerStringLocalizerFactory(appEnv.Object, localizationOptions: options.Object); + var factory = new ResourceManagerStringLocalizerFactory(hostingEnvironment.Object, localizationOptions: options.Object); // Act var result1 = factory.Create(typeof(ResourceManagerStringLocalizerFactoryTest)); @@ -38,12 +34,12 @@ namespace Microsoft.Extensions.Localization.Test public void Create_FromType_ReturnsNewResultForDifferentType() { // Arrange - var appEnv = new Mock(); - appEnv.SetupGet(a => a.ApplicationName).Returns("TestApplication"); + var hostingEnvironment = new Mock(); + hostingEnvironment.SetupGet(a => a.ApplicationName).Returns("TestApplication"); var locOptions = new LocalizationOptions(); var options = new Mock>(); options.Setup(o => o.Value).Returns(locOptions); - var factory = new ResourceManagerStringLocalizerFactory(appEnv.Object, localizationOptions: options.Object); + var factory = new ResourceManagerStringLocalizerFactory(hostingEnvironment.Object, localizationOptions: options.Object); // Act var result1 = factory.Create(typeof(ResourceManagerStringLocalizerFactoryTest)); @@ -57,12 +53,12 @@ namespace Microsoft.Extensions.Localization.Test public void Create_FromNameLocation_ReturnsCachedResultForSameNameLocation() { // Arrange - var appEnv = new Mock(); - appEnv.SetupGet(a => a.ApplicationName).Returns("TestApplication"); + var hostingEnvironment = new Mock(); + hostingEnvironment.SetupGet(a => a.ApplicationName).Returns("TestApplication"); var locOptions = new LocalizationOptions(); var options = new Mock>(); options.Setup(o => o.Value).Returns(locOptions); - var factory = new ResourceManagerStringLocalizerFactory(appEnv.Object, localizationOptions: options.Object); + var factory = new ResourceManagerStringLocalizerFactory(hostingEnvironment.Object, localizationOptions: options.Object); var location = typeof(ResourceManagerStringLocalizer).GetTypeInfo().Assembly.FullName; // Act @@ -77,12 +73,12 @@ namespace Microsoft.Extensions.Localization.Test public void Create_FromNameLocation_ReturnsNewResultForDifferentName() { // Arrange - var appEnv = new Mock(); - appEnv.SetupGet(a => a.ApplicationName).Returns("TestApplication"); + var hostingEnvironment = new Mock(); + hostingEnvironment.SetupGet(a => a.ApplicationName).Returns("TestApplication"); var locOptions = new LocalizationOptions(); var options = new Mock>(); options.Setup(o => o.Value).Returns(locOptions); - var factory = new ResourceManagerStringLocalizerFactory(appEnv.Object, localizationOptions: options.Object); + var factory = new ResourceManagerStringLocalizerFactory(hostingEnvironment.Object, localizationOptions: options.Object); var location = typeof(ResourceManagerStringLocalizer).GetTypeInfo().Assembly.FullName; // Act @@ -97,12 +93,12 @@ namespace Microsoft.Extensions.Localization.Test public void Create_FromNameLocation_ReturnsNewResultForDifferentLocation() { // Arrange - var appEnv = new Mock(); - appEnv.SetupGet(a => a.ApplicationName).Returns("TestApplication"); + var hostingEnvironment = new Mock(); + hostingEnvironment.SetupGet(a => a.ApplicationName).Returns("TestApplication"); var locOptions = new LocalizationOptions(); var options = new Mock>(); options.Setup(o => o.Value).Returns(locOptions); - var factory = new ResourceManagerStringLocalizerFactory(appEnv.Object, localizationOptions: options.Object); + var factory = new ResourceManagerStringLocalizerFactory(hostingEnvironment.Object, localizationOptions: options.Object); var location1 = typeof(ResourceManagerStringLocalizer).GetTypeInfo().Assembly.FullName; var location2 = typeof(ResourceManagerStringLocalizerFactoryTest).GetTypeInfo().Assembly.FullName;