diff --git a/src/Microsoft.AspNetCore.Mvc.Core/Infrastructure/DefaultAssemblyProvider.cs b/src/Microsoft.AspNetCore.Mvc.Core/Infrastructure/DefaultAssemblyProvider.cs
index 3681e8ef2a..ee79a57f30 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/Infrastructure/DefaultAssemblyProvider.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Core/Infrastructure/DefaultAssemblyProvider.cs
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
+using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyModel;
using Microsoft.Extensions.PlatformAbstractions;
@@ -23,8 +24,8 @@ namespace Microsoft.AspNetCore.Mvc.Infrastructure
///
/// Initializes a new instance of .
///
- /// The .
- public DefaultAssemblyProvider(IApplicationEnvironment environment)
+ /// The .
+ public DefaultAssemblyProvider(IHostingEnvironment environment)
: this(
Assembly.Load(new AssemblyName(environment.ApplicationName)),
DependencyContext.Load(Assembly.Load(new AssemblyName(environment.ApplicationName))))
diff --git a/src/Microsoft.AspNetCore.Mvc.Core/project.json b/src/Microsoft.AspNetCore.Mvc.Core/project.json
index 552e4431c2..cdd40bf0d6 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/project.json
+++ b/src/Microsoft.AspNetCore.Mvc.Core/project.json
@@ -24,7 +24,6 @@
"version": "1.0.0-*"
},
"Microsoft.Extensions.FileProviders.Abstractions": "1.0.0-*",
- "Microsoft.Extensions.PlatformAbstractions": "1.0.0-*",
"Microsoft.Extensions.DependencyModel": "1.0.0-*",
"Microsoft.Extensions.ClosedGenericMatcher.Sources": {
"version": "1.0.0-*",
diff --git a/src/Microsoft.AspNetCore.Mvc.Dnx/DnxRoslynCompilationService.cs b/src/Microsoft.AspNetCore.Mvc.Dnx/DnxRoslynCompilationService.cs
index 2f72a90809..c36219acad 100644
--- a/src/Microsoft.AspNetCore.Mvc.Dnx/DnxRoslynCompilationService.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Dnx/DnxRoslynCompilationService.cs
@@ -13,6 +13,7 @@ using System.Reflection.PortableExecutable;
using System.Runtime.Loader;
#endif
using System.Text;
+using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Razor.Compilation;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
@@ -20,7 +21,6 @@ using Microsoft.CodeAnalysis.Text;
using Microsoft.Dnx.Compilation.CSharp;
using Microsoft.Extensions.CompilationAbstractions;
using Microsoft.Extensions.Options;
-using Microsoft.Extensions.PlatformAbstractions;
namespace Microsoft.AspNetCore.Mvc.Razor.Internal
{
@@ -32,7 +32,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Internal
private readonly ConcurrentDictionary _metadataFileCache =
new ConcurrentDictionary(StringComparer.OrdinalIgnoreCase);
- private readonly IApplicationEnvironment _environment;
+ private readonly IHostingEnvironment _environment;
private readonly ILibraryExporter _libraryExporter;
private readonly RazorViewEngineOptions _options;
private readonly Lazy> _applicationReferences;
@@ -48,7 +48,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Internal
/// Accessor to .
/// The .
public DnxRoslynCompilationService(
- IApplicationEnvironment environment,
+ IHostingEnvironment environment,
ILibraryExporter libraryExporter,
IOptions optionsAccessor,
IRazorViewEngineFileProviderAccessor fileProviderAccessor)
diff --git a/src/Microsoft.AspNetCore.Mvc.Localization/ViewLocalizer.cs b/src/Microsoft.AspNetCore.Mvc.Localization/ViewLocalizer.cs
index 3e2dbd0429..3ec50fe965 100644
--- a/src/Microsoft.AspNetCore.Mvc.Localization/ViewLocalizer.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Localization/ViewLocalizer.cs
@@ -7,10 +7,10 @@ using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Text;
+using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
using Microsoft.Extensions.Localization;
-using Microsoft.Extensions.PlatformAbstractions;
namespace Microsoft.AspNetCore.Mvc.Localization
{
@@ -28,20 +28,20 @@ namespace Microsoft.AspNetCore.Mvc.Localization
/// Creates a new .
///
/// The .
- /// The .
- public ViewLocalizer(IHtmlLocalizerFactory localizerFactory, IApplicationEnvironment applicationEnvironment)
+ /// The .
+ public ViewLocalizer(IHtmlLocalizerFactory localizerFactory, IHostingEnvironment hostingEnvironment)
{
if (localizerFactory == null)
{
throw new ArgumentNullException(nameof(localizerFactory));
}
- if (applicationEnvironment == null)
+ if (hostingEnvironment == null)
{
- throw new ArgumentNullException(nameof(applicationEnvironment));
+ throw new ArgumentNullException(nameof(hostingEnvironment));
}
- _applicationName = applicationEnvironment.ApplicationName;
+ _applicationName = hostingEnvironment.ApplicationName;
_localizerFactory = localizerFactory;
}
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.Host/project.json b/src/Microsoft.AspNetCore.Mvc.Razor.Host/project.json
index 46a2cf6266..13e2d3d565 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor.Host/project.json
+++ b/src/Microsoft.AspNetCore.Mvc.Razor.Host/project.json
@@ -23,14 +23,9 @@
}
},
"frameworks": {
- "net451": {
- "dependencies": {
- "Microsoft.Extensions.PlatformAbstractions": "1.0.0-*"
- }
- },
+ "net451": { },
"netstandard1.3": {
"dependencies": {
- "Microsoft.Extensions.PlatformAbstractions": "1.0.0-*",
"System.Collections.Concurrent": "4.0.12-*",
"System.ComponentModel.TypeConverter": "4.0.1-*",
"System.Reflection.Extensions": "4.0.1-*",
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor/Internal/DefaultRoslynCompilationService.cs b/src/Microsoft.AspNetCore.Mvc.Razor/Internal/DefaultRoslynCompilationService.cs
index a3e1879797..8b9a5da614 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor/Internal/DefaultRoslynCompilationService.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor/Internal/DefaultRoslynCompilationService.cs
@@ -14,6 +14,7 @@ using System.Runtime.Loader;
#endif
using System.Text;
using Microsoft.AspNetCore.Diagnostics;
+using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Razor.Compilation;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
@@ -23,7 +24,6 @@ using Microsoft.Extensions.DependencyModel;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
-using Microsoft.Extensions.PlatformAbstractions;
namespace Microsoft.AspNetCore.Mvc.Razor.Internal
{
@@ -50,12 +50,12 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Internal
///
/// Initalizes a new instance of the class.
///
- /// The environment for the executing application.
+ /// The .
/// Accessor to .
/// The .
/// The .
public DefaultRoslynCompilationService(
- IApplicationEnvironment environment,
+ IHostingEnvironment environment,
IOptions optionsAccessor,
IRazorViewEngineFileProviderAccessor fileProviderAccessor,
ILoggerFactory loggerFactory)
@@ -326,7 +326,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Internal
mappedLineSpan.EndLinePosition.Character + 1);
}
- private static DependencyContext GetDependencyContext(IApplicationEnvironment environment)
+ private static DependencyContext GetDependencyContext(IHostingEnvironment environment)
{
if (environment.ApplicationName != null)
{
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor/Internal/DependencyContextRazorViewEngineOptionsSetup.cs b/src/Microsoft.AspNetCore.Mvc.Razor/Internal/DependencyContextRazorViewEngineOptionsSetup.cs
index d2eb5de88c..e7f4bc5960 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor/Internal/DependencyContextRazorViewEngineOptionsSetup.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor/Internal/DependencyContextRazorViewEngineOptionsSetup.cs
@@ -5,11 +5,11 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
+using Microsoft.AspNetCore.Hosting;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.Extensions.DependencyModel;
using Microsoft.Extensions.Options;
-using Microsoft.Extensions.PlatformAbstractions;
namespace Microsoft.AspNetCore.Mvc.Razor.Internal
{
@@ -22,14 +22,14 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Internal
///
/// Initializes a new instance of .
///
- public DependencyContextRazorViewEngineOptionsSetup(IApplicationEnvironment applicationEnvironment)
- : base(options => ConfigureRazor(options, applicationEnvironment))
+ public DependencyContextRazorViewEngineOptionsSetup(IHostingEnvironment hostingEnvironment)
+ : base(options => ConfigureRazor(options, hostingEnvironment))
{
}
- private static void ConfigureRazor(RazorViewEngineOptions options, IApplicationEnvironment applicationEnvironment)
+ private static void ConfigureRazor(RazorViewEngineOptions options, IHostingEnvironment hostingEnvironment)
{
- var applicationAssembly = Assembly.Load(new AssemblyName(applicationEnvironment.ApplicationName));
+ var applicationAssembly = Assembly.Load(new AssemblyName(hostingEnvironment.ApplicationName));
var dependencyContext = DependencyContext.Load(applicationAssembly);
var compilationOptions = dependencyContext?.CompilationOptions ?? Extensions.DependencyModel.CompilationOptions.Default;
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor/RazorViewEngineOptionsSetup.cs b/src/Microsoft.AspNetCore.Mvc.Razor/RazorViewEngineOptionsSetup.cs
index 4f8b6ee89a..97607bc9ec 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor/RazorViewEngineOptionsSetup.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor/RazorViewEngineOptionsSetup.cs
@@ -5,10 +5,7 @@ using System.Linq;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Razor;
using Microsoft.CodeAnalysis;
-using Microsoft.CodeAnalysis.CSharp;
-using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Options;
-using Microsoft.Extensions.PlatformAbstractions;
namespace Microsoft.AspNetCore.Mvc
{
@@ -20,21 +17,21 @@ namespace Microsoft.AspNetCore.Mvc
///
/// Initializes a new instance of .
///
- /// for the application.
/// for the application.
public RazorViewEngineOptionsSetup(
- IApplicationEnvironment applicationEnvironment,
IHostingEnvironment hostingEnvironment)
- : base(options => ConfigureRazor(options, applicationEnvironment, hostingEnvironment))
+ : base(options => ConfigureRazor(options, hostingEnvironment))
{
}
private static void ConfigureRazor(
RazorViewEngineOptions razorOptions,
- IApplicationEnvironment applicationEnvironment,
IHostingEnvironment hostingEnvironment)
{
- razorOptions.FileProviders.Add(new PhysicalFileProvider(applicationEnvironment.ApplicationBasePath));
+ if (hostingEnvironment.ContentRootFileProvider != null)
+ {
+ razorOptions.FileProviders.Add(hostingEnvironment.ContentRootFileProvider);
+ }
var compilationOptions = razorOptions.CompilationOptions;
string configurationSymbol;
diff --git a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/MvcEncodedTestFixtureOfT.cs b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/MvcEncodedTestFixtureOfT.cs
index 5d588ee2aa..16d6c494d6 100644
--- a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/MvcEncodedTestFixtureOfT.cs
+++ b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/MvcEncodedTestFixtureOfT.cs
@@ -9,9 +9,9 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests
{
public class MvcEncodedTestFixture : MvcTestFixture
{
- protected override void InitializeServices(IServiceCollection services, string relativePath)
+ protected override void InitializeServices(IServiceCollection services)
{
- base.InitializeServices(services, relativePath);
+ base.InitializeServices(services);
services.AddTransient();
services.AddTransient();
services.AddTransient();
diff --git a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/MvcTestFixture.cs b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/MvcTestFixture.cs
index 5f2733f15b..54ce70b7ef 100644
--- a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/MvcTestFixture.cs
+++ b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/MvcTestFixture.cs
@@ -36,7 +36,8 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests
using (new CultureReplacer())
{
var builder = new WebHostBuilder()
- .ConfigureServices(serviceCollection => InitializeServices(serviceCollection, relativePath))
+ .UseContentRoot(GetApplicationPath(relativePath))
+ .ConfigureServices(InitializeServices)
.UseStartup(typeof(TStartup));
_server = new TestServer(builder);
@@ -54,14 +55,22 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests
_server.Dispose();
}
- protected virtual void InitializeServices(IServiceCollection services, string relativePath)
+ private static string GetApplicationPath(string relativePath)
+ {
+ var startupAssembly = typeof(TStartup).GetTypeInfo().Assembly;
+ var applicationName = startupAssembly.GetName().Name;
+#if DNX451
+ var libraryManager = DnxPlatformServices.Default.LibraryManager;
+ var library = libraryManager.GetLibrary(applicationName);
+ return Path.GetDirectoryName(library.Path);
+#else
+ var applicationBasePath = PlatformServices.Default.Application.ApplicationBasePath;
+ return Path.GetFullPath(Path.Combine(applicationBasePath, relativePath, applicationName));
+#endif
+ }
+
+ protected virtual void InitializeServices(IServiceCollection services)
{
- // When an application executes in a regular context, the application base path points to the root
- // directory where the application is located, for example .../samples/MvcSample.Web. However, when
- // executing an application as part of a test, the ApplicationBasePath of the IApplicationEnvironment
- // points to the root folder of the test project.
- // To compensate, we need to calculate the correct project path and override the application
- // environment value so that components like the view engine work properly in the context of the test.
var startupAssembly = typeof(TStartup).GetTypeInfo().Assembly;
var applicationName = startupAssembly.GetName().Name;
@@ -69,21 +78,8 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests
#if DNX451
services.AddSingleton(CompilationServices.Default.LibraryExporter);
services.AddSingleton();
-
- var libraryManager = DnxPlatformServices.Default.LibraryManager;
- var library = libraryManager.GetLibrary(applicationName);
- var applicationRoot = Path.GetDirectoryName(library.Path);
-#else
- var applicationRoot = Path.GetFullPath(Path.Combine(
- applicationEnvironment.ApplicationBasePath,
- relativePath,
- applicationName
- ));
#endif
- services.AddSingleton(
- new TestApplicationEnvironment(applicationEnvironment, applicationName, applicationRoot));
-
// Inject a custom assembly provider. Overrides AddMvc() because that uses TryAdd().
var assemblyProvider = new StaticAssemblyProvider();
assemblyProvider.CandidateAssemblies.Add(startupAssembly);
diff --git a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/TestApplicationEnvironment.cs b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/TestApplicationEnvironment.cs
deleted file mode 100644
index ef551d491e..0000000000
--- a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/TestApplicationEnvironment.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-// 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.Runtime.Versioning;
-using Microsoft.Extensions.PlatformAbstractions;
-
-namespace Microsoft.AspNetCore.Mvc.FunctionalTests
-{
- // An application environment that overrides the base path of the original
- // application environment in order to make it point to the folder of the original web
- // aaplication so that components like ViewEngines can find views as if they were executing
- // in a regular context.
- public class TestApplicationEnvironment : IApplicationEnvironment
- {
- private readonly IApplicationEnvironment _original;
-
- public TestApplicationEnvironment(IApplicationEnvironment original, string name, string basePath)
- {
- _original = original;
- ApplicationName = name;
- ApplicationBasePath = basePath;
- }
-
- public string ApplicationName { get; }
-
- public string ApplicationVersion
- {
- get
- {
- return _original.ApplicationVersion;
- }
- }
-
- public string ApplicationBasePath { get; }
-
- public FrameworkName RuntimeFramework
- {
- get
- {
- return _original.RuntimeFramework;
- }
- }
- }
-}
\ No newline at end of file
diff --git a/test/Microsoft.AspNetCore.Mvc.Localization.Test/HtmlLocalizerOfTTest.cs b/test/Microsoft.AspNetCore.Mvc.Localization.Test/HtmlLocalizerOfTTest.cs
index f00c6998b9..bef4d07124 100644
--- a/test/Microsoft.AspNetCore.Mvc.Localization.Test/HtmlLocalizerOfTTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Localization.Test/HtmlLocalizerOfTTest.cs
@@ -2,6 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Globalization;
+using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.PlatformAbstractions;
@@ -39,9 +40,6 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
public void HtmlLocalizerOfTTest_UseIndexerWithArguments_ReturnsLocalizedHtmlString()
{
// Arrange
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
-
var localizedString = new LocalizedHtmlString("Hello", "Bonjour test");
var htmlLocalizer = new Mock();
diff --git a/test/Microsoft.AspNetCore.Mvc.Localization.Test/ViewLocalizerTest.cs b/test/Microsoft.AspNetCore.Mvc.Localization.Test/ViewLocalizerTest.cs
index 81844644cc..0e40de4a06 100644
--- a/test/Microsoft.AspNetCore.Mvc.Localization.Test/ViewLocalizerTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Localization.Test/ViewLocalizerTest.cs
@@ -5,10 +5,10 @@ using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
+using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.ViewEngines;
using Microsoft.Extensions.Localization;
-using Microsoft.Extensions.PlatformAbstractions;
using Moq;
using Xunit;
@@ -31,15 +31,15 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
public void ViewLocalizer_LooksForCorrectResourceBaseNameLocation(string appName, string viewPath, string executingPath, string expectedBaseName)
{
// Arrange
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns(appName);
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.Setup(a => a.ApplicationName).Returns(appName);
var htmlLocalizerFactory = new Mock(MockBehavior.Loose);
var view = new Mock();
view.Setup(v => v.Path).Returns(viewPath);
var viewContext = new ViewContext();
viewContext.ExecutingFilePath = executingPath;
viewContext.View = view.Object;
- var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, applicationEnvironment.Object);
+ var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, hostingEnvironment.Object);
// Act
viewLocalizer.Contextualize(viewContext);
@@ -55,8 +55,8 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
public void ViewLocalizer_UseIndexer_ReturnsLocalizedHtmlString()
{
// Arrange
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
var localizedString = new LocalizedHtmlString("Hello", "Bonjour");
@@ -67,7 +67,7 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
htmlLocalizerFactory.Setup(h => h.Create("TestApplication.example", "TestApplication"))
.Returns(htmlLocalizer.Object);
- var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, applicationEnvironment.Object);
+ var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, hostingEnvironment.Object);
var view = new Mock();
view.Setup(v => v.Path).Returns("example");
@@ -87,8 +87,8 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
public void ViewLocalizer_UseIndexerWithArguments_ReturnsLocalizedHtmlString()
{
// Arrange
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
var localizedString = new LocalizedHtmlString("Hello", "Bonjour test");
@@ -99,7 +99,7 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
htmlLocalizerFactory.Setup(
h => h.Create("TestApplication.example", "TestApplication")).Returns(htmlLocalizer.Object);
- var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, applicationEnvironment.Object);
+ var viewLocalizer = new ViewLocalizer(htmlLocalizerFactory.Object, hostingEnvironment.Object);
var view = new Mock();
view.Setup(v => v.Path).Returns("example");
@@ -121,9 +121,9 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
// Arrange
var stringLocalizer = new TestStringLocalizer();
var htmlLocalizer = new HtmlLocalizer(stringLocalizer);
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
- var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), applicationEnvironment.Object);
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
+ var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), hostingEnvironment.Object);
var view = new Mock();
view.Setup(v => v.Path).Returns("example");
@@ -146,9 +146,9 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
// Arrange
var stringLocalizer = new TestStringLocalizer();
var htmlLocalizer = new HtmlLocalizer(stringLocalizer);
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
- var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), applicationEnvironment.Object);
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
+ var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), hostingEnvironment.Object);
var view = new Mock();
view.Setup(v => v.Path).Returns("example");
@@ -172,9 +172,9 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
// Arrange
var stringLocalizer = new TestStringLocalizer();
var htmlLocalizer = new HtmlLocalizer(stringLocalizer);
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
- var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), applicationEnvironment.Object);
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
+ var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), hostingEnvironment.Object);
var view = new Mock();
view.Setup(v => v.Path).Returns("example");
@@ -196,9 +196,9 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
// Arrange
var stringLocalizer = new TestStringLocalizer();
var htmlLocalizer = new HtmlLocalizer(stringLocalizer);
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
- var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), applicationEnvironment.Object);
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
+ var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), hostingEnvironment.Object);
var view = new Mock();
view.Setup(v => v.Path).Returns("example");
@@ -220,9 +220,9 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
// Arrange
var stringLocalizer = new TestStringLocalizer();
var htmlLocalizer = new HtmlLocalizer(stringLocalizer);
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
- var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), applicationEnvironment.Object);
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
+ var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), hostingEnvironment.Object);
var view = new Mock();
view.Setup(v => v.Path).Returns("example");
@@ -244,9 +244,9 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
// Arrange
var stringLocalizer = new TestStringLocalizer();
var htmlLocalizer = new HtmlLocalizer(stringLocalizer);
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
- var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), applicationEnvironment.Object);
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
+ var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), hostingEnvironment.Object);
var view = new Mock();
view.Setup(v => v.Path).Returns("example");
@@ -268,9 +268,9 @@ namespace Microsoft.AspNetCore.Mvc.Localization.Test
// Arrange
var stringLocalizer = new TestStringLocalizer();
var htmlLocalizer = new HtmlLocalizer(stringLocalizer);
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
- var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), applicationEnvironment.Object);
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.Setup(a => a.ApplicationName).Returns("TestApplication");
+ var viewLocalizer = new ViewLocalizer(new TestHtmlLocalizerFactory(), hostingEnvironment.Object);
var view = new Mock();
view.Setup(v => v.Path).Returns("example");
diff --git a/test/Microsoft.AspNetCore.Mvc.TagHelpers.Test/LinkTagHelperTest.cs b/test/Microsoft.AspNetCore.Mvc.TagHelpers.Test/LinkTagHelperTest.cs
index acc6eaefb8..b93504a2b4 100644
--- a/test/Microsoft.AspNetCore.Mvc.TagHelpers.Test/LinkTagHelperTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.TagHelpers.Test/LinkTagHelperTest.cs
@@ -23,7 +23,6 @@ using Microsoft.AspNetCore.Razor.TagHelpers;
using Microsoft.AspNetCore.Routing;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.FileProviders;
-using Microsoft.Extensions.PlatformAbstractions;
using Microsoft.Extensions.Primitives;
using Microsoft.Extensions.WebEncoders.Testing;
using Moq;
@@ -1034,13 +1033,6 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
return hostingEnvironment.Object;
}
- private static IApplicationEnvironment MakeApplicationEnvironment(string applicationName = "testApplication")
- {
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns(applicationName);
- return applicationEnvironment.Object;
- }
-
private static IMemoryCache MakeCache() => new MemoryCache(new MemoryCacheOptions());
private static IUrlHelperFactory MakeUrlHelperFactory()
diff --git a/test/Microsoft.AspNetCore.Mvc.TagHelpers.Test/ScriptTagHelperTest.cs b/test/Microsoft.AspNetCore.Mvc.TagHelpers.Test/ScriptTagHelperTest.cs
index 05c280f14a..76c6b8e2f3 100644
--- a/test/Microsoft.AspNetCore.Mvc.TagHelpers.Test/ScriptTagHelperTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.TagHelpers.Test/ScriptTagHelperTest.cs
@@ -971,13 +971,6 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
return hostingEnvironment.Object;
}
- private static IApplicationEnvironment MakeApplicationEnvironment(string applicationName = "testApplication")
- {
- var applicationEnvironment = new Mock();
- applicationEnvironment.Setup(a => a.ApplicationName).Returns(applicationName);
- return applicationEnvironment.Object;
- }
-
private static IMemoryCache MakeCache() => new MemoryCache(new MemoryCacheOptions());
private static IUrlHelperFactory MakeUrlHelperFactory()
diff --git a/test/Microsoft.AspNetCore.Mvc.Test/MvcOptionsSetupTest.cs b/test/Microsoft.AspNetCore.Mvc.Test/MvcOptionsSetupTest.cs
index 77d0e72e89..de6f7e0f64 100644
--- a/test/Microsoft.AspNetCore.Mvc.Test/MvcOptionsSetupTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Test/MvcOptionsSetupTest.cs
@@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading;
@@ -18,9 +17,9 @@ using Microsoft.AspNetCore.Mvc.ModelBinding.Metadata;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using Microsoft.AspNetCore.Mvc.Razor;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
-using Microsoft.Extensions.PlatformAbstractions;
using Moq;
using Newtonsoft.Json.Linq;
using Xunit;
@@ -247,17 +246,14 @@ namespace Microsoft.AspNetCore.Mvc
private static void AddViewEngineOptionsServices(IServiceCollection serviceCollection)
{
- serviceCollection.AddSingleton(Mock.Of());
- var applicationEnvironment = new Mock();
- applicationEnvironment.SetupGet(e => e.ApplicationName)
+ var hostingEnvironment = new Mock();
+ hostingEnvironment.SetupGet(e => e.ApplicationName)
.Returns(typeof(MvcOptionsSetupTest).GetTypeInfo().Assembly.GetName().Name);
- // ApplicationBasePath is used to set up a PhysicalFileProvider which requires
- // a real directory.
- applicationEnvironment.SetupGet(e => e.ApplicationBasePath)
- .Returns(Directory.GetCurrentDirectory());
+ hostingEnvironment.SetupGet(e => e.ContentRootFileProvider)
+ .Returns(Mock.Of());
- serviceCollection.AddSingleton(applicationEnvironment.Object);
+ serviceCollection.AddSingleton(hostingEnvironment.Object);
}
}
}
diff --git a/test/Microsoft.AspNetCore.Mvc.Test/RazorViewEngineOptionsSetupTest.cs b/test/Microsoft.AspNetCore.Mvc.Test/RazorViewEngineOptionsSetupTest.cs
index fece4a7244..f47ee5c334 100644
--- a/test/Microsoft.AspNetCore.Mvc.Test/RazorViewEngineOptionsSetupTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Test/RazorViewEngineOptionsSetupTest.cs
@@ -19,20 +19,20 @@ namespace Microsoft.AspNetCore.Mvc
{
// Arrange
var options = new RazorViewEngineOptions();
- var appEnv = new Mock();
- appEnv.SetupGet(e => e.ApplicationBasePath)
- .Returns(Directory.GetCurrentDirectory());
+ var expected = Mock.Of();
var hostingEnv = new Mock();
+ hostingEnv.SetupGet(e => e.ContentRootFileProvider)
+ .Returns(expected);
hostingEnv.SetupGet(e => e.EnvironmentName)
.Returns("Development");
- var optionsSetup = new RazorViewEngineOptionsSetup(appEnv.Object, hostingEnv.Object);
+ var optionsSetup = new RazorViewEngineOptionsSetup(hostingEnv.Object);
// Act
optionsSetup.Configure(options);
// Assert
var fileProvider = Assert.Single(options.FileProviders);
- Assert.IsType(fileProvider);
+ Assert.Same(expected, fileProvider);
}
[Theory]
@@ -43,13 +43,10 @@ namespace Microsoft.AspNetCore.Mvc
{
// Arrange
var options = new RazorViewEngineOptions();
- var appEnv = new Mock();
- appEnv.SetupGet(e => e.ApplicationBasePath)
- .Returns(Directory.GetCurrentDirectory());
var hostingEnv = new Mock();
hostingEnv.SetupGet(e => e.EnvironmentName)
.Returns(environment);
- var optionsSetup = new RazorViewEngineOptionsSetup(appEnv.Object, hostingEnv.Object);
+ var optionsSetup = new RazorViewEngineOptionsSetup(hostingEnv.Object);
// Act
optionsSetup.Configure(options);
@@ -68,13 +65,10 @@ namespace Microsoft.AspNetCore.Mvc
{
// Arrange
var options = new RazorViewEngineOptions();
- var appEnv = new Mock();
- appEnv.SetupGet(e => e.ApplicationBasePath)
- .Returns(Directory.GetCurrentDirectory());
var hostingEnv = new Mock();
hostingEnv.SetupGet(e => e.EnvironmentName)
.Returns(environment);
- var optionsSetup = new RazorViewEngineOptionsSetup(appEnv.Object, hostingEnv.Object);
+ var optionsSetup = new RazorViewEngineOptionsSetup(hostingEnv.Object);
// Act
optionsSetup.Configure(options);
diff --git a/test/WebSites/FilesWebSite/Controllers/DownloadFilesController.cs b/test/WebSites/FilesWebSite/Controllers/DownloadFilesController.cs
index 5db977a8d2..3ee3e47a05 100644
--- a/test/WebSites/FilesWebSite/Controllers/DownloadFilesController.cs
+++ b/test/WebSites/FilesWebSite/Controllers/DownloadFilesController.cs
@@ -3,29 +3,29 @@
using System.IO;
using System.Text;
+using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.PlatformAbstractions;
namespace FilesWebSite
{
public class DownloadFilesController : Controller
{
- private readonly IApplicationEnvironment _appEnvironment;
+ private readonly IHostingEnvironment _hostingEnvironment;
- public DownloadFilesController(IApplicationEnvironment appEnvironment)
+ public DownloadFilesController(IHostingEnvironment hostingEnvironment)
{
- _appEnvironment = appEnvironment;
+ _hostingEnvironment = hostingEnvironment;
}
public IActionResult DowloadFromDisk()
{
- var path = Path.Combine(_appEnvironment.ApplicationBasePath, "sample.txt");
+ var path = Path.Combine(_hostingEnvironment.ContentRootPath, "sample.txt");
return PhysicalFile(path, "text/plain");
}
public IActionResult DowloadFromDiskWithFileName()
{
- var path = Path.Combine(_appEnvironment.ApplicationBasePath, "sample.txt");
+ var path = Path.Combine(_hostingEnvironment.ContentRootPath, "sample.txt");
return PhysicalFile(path, "text/plain", "downloadName.txt");
}