123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- // Licensed to the .NET Foundation under one or more agreements.
- // The .NET Foundation licenses this file to you under the MIT license.
- using Microsoft.DotNet.Cli.Utils;
- namespace Microsoft.NET.Build.Tests
- {
- public class AspNetCoreOnFullFramework : SdkTest
- {
- public AspNetCoreOnFullFramework(ITestOutputHelper log) : base(log)
- {
- }
- [WindowsOnlyTheory]
- [InlineData("1.1.2")]
- [InlineData("2.0.4")]
- public void It_discovers_assembly_parts(string aspnetVersion)
- {
- var testProject = new TestProject()
- {
- Name = "AssemblyPartDiscovery",
- TargetFrameworks = "net462",
- IsExe = true
- };
- testProject.SourceFiles["Program.cs"] = @"
- using Microsoft.AspNetCore.Mvc.Internal;
- using Microsoft.Extensions.DependencyModel;
- using System.IO;
- using System.Linq;
- public class Program
- {
- public static void Main(string[] args)
- {
- var parts = DefaultAssemblyPartDiscoveryProvider.DiscoverAssemblyParts(""" + testProject.Name + @""");
- foreach (var item in parts)
- {
- System.Console.WriteLine(item.Name);
- }
- }
- }";
- TestProject referencedProjectWithPart = new()
- {
- Name = "ReferencedProjectWithPart",
- TargetFrameworks = "net462",
- IsExe = false
- };
- referencedProjectWithPart.References.Add("System.ServiceModel");
- referencedProjectWithPart.SourceFiles["Class1.cs"] = @"
- class Class1
- {
- public string X => typeof(System.ServiceModel.AddressFilterMode).ToString();
- }";
- TestProject referencedProjectWithMvc = new()
- {
- Name = "ReferencedProjectWithMVC",
- ProjectSdk = "Microsoft.NET.Sdk.Web",
- TargetFrameworks = "net462",
- IsExe = false
- };
- referencedProjectWithMvc.PackageReferences.Add(new TestPackageReference("Microsoft.AspNetCore.Mvc", aspnetVersion));
- testProject.ReferencedProjects.Add(referencedProjectWithPart);
- testProject.ReferencedProjects.Add(referencedProjectWithMvc);
- var testProjectInstance = _testAssetsManager
- .CreateTestProject(testProject, identifier: aspnetVersion);
- var buildCommand = new BuildCommand(testProjectInstance);
- buildCommand.Execute()
- .Should()
- .Pass();
- string outputPath = buildCommand.GetOutputDirectory(testProject.TargetFrameworks).FullName;
- string exePath = Path.Combine(outputPath, testProject.Name + ".exe");
- var toolCommandSpec = new SdkCommandSpec()
- {
- FileName = exePath
- };
- TestContext.Current.AddTestEnvironmentVariables(toolCommandSpec.Environment);
- ICommand toolCommand = toolCommandSpec.ToCommand().CaptureStdOut();
- var toolResult = toolCommand.Execute();
- toolResult.Should().Pass();
- }
- }
- }
|