diff --git a/NuGetPackageVerifier.json b/NuGetPackageVerifier.json index b153ab1515..eadea1d73f 100644 --- a/NuGetPackageVerifier.json +++ b/NuGetPackageVerifier.json @@ -1,4 +1,21 @@ { + "adx": { + "rules": [ + "DefaultCompositeRule" + ], + "packages": { + "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation": { + "exclusions": { + "DOC_MISSING": { + "lib/netcoreapp2.0/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.dll": "Not a class library. Docs not required for CLI tools" + }, + "BUILD_ITEMS_FRAMEWORK": { + "*": "Doesn't matter" + } + } + } + } + }, "Default": { "rules": [ "DefaultCompositeRule" diff --git a/RazorViewCompilation.sln b/RazorViewCompilation.sln index eb7796e638..a4b6a2edc1 100644 --- a/RazorViewCompilation.sln +++ b/RazorViewCompilation.sln @@ -1,7 +1,6 @@ - Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26329.2 +VisualStudioVersion = 15.0.26516.2 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation", "src\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.csproj", "{4339FC9B-AEC6-442A-B413-A41555ED76C7}" EndProject @@ -51,78 +50,240 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApplicationUsingPrecompiled EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApplicationWithTagHelpers", "testapps\ApplicationWithTagHelpers\ApplicationWithTagHelpers.csproj", "{08552602-37E7-48A7-95A2-BB1A1F57C804}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RazorPagesApp", "testapps\RazorPagesApp\RazorPagesApp.csproj", "{779BACC4-B20E-4F73-A9C7-350443CF1941}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RazorPagesApp", "testapps\RazorPagesApp\RazorPagesApp.csproj", "{779BACC4-B20E-4F73-A9C7-350443CF1941}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleAppDesktopOnly", "testapps\SimpleAppDesktopOnly\SimpleAppDesktopOnly.csproj", "{D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{75244EBD-DFBD-4C4B-9543-C135AC142C7F}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86", "tools\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86.csproj", "{DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Debug|x64.ActiveCfg = Debug|Any CPU + {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Debug|x64.Build.0 = Debug|Any CPU + {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Debug|x86.ActiveCfg = Debug|Any CPU + {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Debug|x86.Build.0 = Debug|Any CPU {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Release|Any CPU.ActiveCfg = Release|Any CPU {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Release|Any CPU.Build.0 = Release|Any CPU + {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Release|x64.ActiveCfg = Release|Any CPU + {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Release|x64.Build.0 = Release|Any CPU + {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Release|x86.ActiveCfg = Release|Any CPU + {4339FC9B-AEC6-442A-B413-A41555ED76C7}.Release|x86.Build.0 = Release|Any CPU {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Debug|x64.ActiveCfg = Debug|Any CPU + {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Debug|x64.Build.0 = Debug|Any CPU + {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Debug|x86.ActiveCfg = Debug|Any CPU + {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Debug|x86.Build.0 = Debug|Any CPU {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Release|Any CPU.ActiveCfg = Release|Any CPU {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Release|Any CPU.Build.0 = Release|Any CPU + {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Release|x64.ActiveCfg = Release|Any CPU + {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Release|x64.Build.0 = Release|Any CPU + {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Release|x86.ActiveCfg = Release|Any CPU + {46C9A4B2-8B1C-451B-B670-C194901D66AC}.Release|x86.Build.0 = Release|Any CPU {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Debug|x64.ActiveCfg = Debug|Any CPU + {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Debug|x64.Build.0 = Debug|Any CPU + {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Debug|x86.ActiveCfg = Debug|Any CPU + {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Debug|x86.Build.0 = Debug|Any CPU {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Release|Any CPU.ActiveCfg = Release|Any CPU {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Release|Any CPU.Build.0 = Release|Any CPU + {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Release|x64.ActiveCfg = Release|Any CPU + {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Release|x64.Build.0 = Release|Any CPU + {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Release|x86.ActiveCfg = Release|Any CPU + {E0D75B4E-839F-4F80-9B1F-B33F616BCC5F}.Release|x86.Build.0 = Release|Any CPU {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Debug|x64.ActiveCfg = Debug|Any CPU + {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Debug|x64.Build.0 = Debug|Any CPU + {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Debug|x86.ActiveCfg = Debug|Any CPU + {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Debug|x86.Build.0 = Debug|Any CPU {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Release|Any CPU.ActiveCfg = Release|Any CPU {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Release|Any CPU.Build.0 = Release|Any CPU + {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Release|x64.ActiveCfg = Release|Any CPU + {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Release|x64.Build.0 = Release|Any CPU + {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Release|x86.ActiveCfg = Release|Any CPU + {8B7C86DF-FA69-4F3F-A22B-6BFCCBBCEDE0}.Release|x86.Build.0 = Release|Any CPU {D5677246-BC78-426D-9233-0313A04C6D92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D5677246-BC78-426D-9233-0313A04C6D92}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D5677246-BC78-426D-9233-0313A04C6D92}.Debug|x64.ActiveCfg = Debug|Any CPU + {D5677246-BC78-426D-9233-0313A04C6D92}.Debug|x64.Build.0 = Debug|Any CPU + {D5677246-BC78-426D-9233-0313A04C6D92}.Debug|x86.ActiveCfg = Debug|Any CPU + {D5677246-BC78-426D-9233-0313A04C6D92}.Debug|x86.Build.0 = Debug|Any CPU {D5677246-BC78-426D-9233-0313A04C6D92}.Release|Any CPU.ActiveCfg = Release|Any CPU {D5677246-BC78-426D-9233-0313A04C6D92}.Release|Any CPU.Build.0 = Release|Any CPU + {D5677246-BC78-426D-9233-0313A04C6D92}.Release|x64.ActiveCfg = Release|Any CPU + {D5677246-BC78-426D-9233-0313A04C6D92}.Release|x64.Build.0 = Release|Any CPU + {D5677246-BC78-426D-9233-0313A04C6D92}.Release|x86.ActiveCfg = Release|Any CPU + {D5677246-BC78-426D-9233-0313A04C6D92}.Release|x86.Build.0 = Release|Any CPU {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Debug|x64.ActiveCfg = Debug|Any CPU + {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Debug|x64.Build.0 = Debug|Any CPU + {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Debug|x86.ActiveCfg = Debug|Any CPU + {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Debug|x86.Build.0 = Debug|Any CPU {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Release|Any CPU.ActiveCfg = Release|Any CPU {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Release|Any CPU.Build.0 = Release|Any CPU + {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Release|x64.ActiveCfg = Release|Any CPU + {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Release|x64.Build.0 = Release|Any CPU + {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Release|x86.ActiveCfg = Release|Any CPU + {7EFC460A-8BAA-4538-8EBE-0B3BB6101E94}.Release|x86.Build.0 = Release|Any CPU {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Debug|x64.ActiveCfg = Debug|Any CPU + {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Debug|x64.Build.0 = Debug|Any CPU + {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Debug|x86.ActiveCfg = Debug|Any CPU + {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Debug|x86.Build.0 = Debug|Any CPU {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Release|Any CPU.ActiveCfg = Release|Any CPU {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Release|Any CPU.Build.0 = Release|Any CPU + {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Release|x64.ActiveCfg = Release|Any CPU + {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Release|x64.Build.0 = Release|Any CPU + {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Release|x86.ActiveCfg = Release|Any CPU + {87C6A03D-1655-4D1C-82E5-8F553BF4096D}.Release|x86.Build.0 = Release|Any CPU {AF647059-B86B-46DD-9559-E1324A39B148}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AF647059-B86B-46DD-9559-E1324A39B148}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AF647059-B86B-46DD-9559-E1324A39B148}.Debug|x64.ActiveCfg = Debug|Any CPU + {AF647059-B86B-46DD-9559-E1324A39B148}.Debug|x64.Build.0 = Debug|Any CPU + {AF647059-B86B-46DD-9559-E1324A39B148}.Debug|x86.ActiveCfg = Debug|Any CPU + {AF647059-B86B-46DD-9559-E1324A39B148}.Debug|x86.Build.0 = Debug|Any CPU {AF647059-B86B-46DD-9559-E1324A39B148}.Release|Any CPU.ActiveCfg = Release|Any CPU {AF647059-B86B-46DD-9559-E1324A39B148}.Release|Any CPU.Build.0 = Release|Any CPU + {AF647059-B86B-46DD-9559-E1324A39B148}.Release|x64.ActiveCfg = Release|Any CPU + {AF647059-B86B-46DD-9559-E1324A39B148}.Release|x64.Build.0 = Release|Any CPU + {AF647059-B86B-46DD-9559-E1324A39B148}.Release|x86.ActiveCfg = Release|Any CPU + {AF647059-B86B-46DD-9559-E1324A39B148}.Release|x86.Build.0 = Release|Any CPU {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Debug|x64.ActiveCfg = Debug|Any CPU + {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Debug|x64.Build.0 = Debug|Any CPU + {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Debug|x86.ActiveCfg = Debug|Any CPU + {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Debug|x86.Build.0 = Debug|Any CPU {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Release|Any CPU.ActiveCfg = Release|Any CPU {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Release|Any CPU.Build.0 = Release|Any CPU + {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Release|x64.ActiveCfg = Release|Any CPU + {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Release|x64.Build.0 = Release|Any CPU + {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Release|x86.ActiveCfg = Release|Any CPU + {0B512D79-AA53-4C97-91B3-B0F8B2CA16B8}.Release|x86.Build.0 = Release|Any CPU {559FBB83-40BC-47AF-A224-312CF8E3629B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {559FBB83-40BC-47AF-A224-312CF8E3629B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {559FBB83-40BC-47AF-A224-312CF8E3629B}.Debug|x64.ActiveCfg = Debug|Any CPU + {559FBB83-40BC-47AF-A224-312CF8E3629B}.Debug|x64.Build.0 = Debug|Any CPU + {559FBB83-40BC-47AF-A224-312CF8E3629B}.Debug|x86.ActiveCfg = Debug|Any CPU + {559FBB83-40BC-47AF-A224-312CF8E3629B}.Debug|x86.Build.0 = Debug|Any CPU {559FBB83-40BC-47AF-A224-312CF8E3629B}.Release|Any CPU.ActiveCfg = Release|Any CPU {559FBB83-40BC-47AF-A224-312CF8E3629B}.Release|Any CPU.Build.0 = Release|Any CPU + {559FBB83-40BC-47AF-A224-312CF8E3629B}.Release|x64.ActiveCfg = Release|Any CPU + {559FBB83-40BC-47AF-A224-312CF8E3629B}.Release|x64.Build.0 = Release|Any CPU + {559FBB83-40BC-47AF-A224-312CF8E3629B}.Release|x86.ActiveCfg = Release|Any CPU + {559FBB83-40BC-47AF-A224-312CF8E3629B}.Release|x86.Build.0 = Release|Any CPU {8F73A290-BCE1-461A-9970-397FFBFCC902}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8F73A290-BCE1-461A-9970-397FFBFCC902}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8F73A290-BCE1-461A-9970-397FFBFCC902}.Debug|x64.ActiveCfg = Debug|Any CPU + {8F73A290-BCE1-461A-9970-397FFBFCC902}.Debug|x64.Build.0 = Debug|Any CPU + {8F73A290-BCE1-461A-9970-397FFBFCC902}.Debug|x86.ActiveCfg = Debug|Any CPU + {8F73A290-BCE1-461A-9970-397FFBFCC902}.Debug|x86.Build.0 = Debug|Any CPU {8F73A290-BCE1-461A-9970-397FFBFCC902}.Release|Any CPU.ActiveCfg = Release|Any CPU {8F73A290-BCE1-461A-9970-397FFBFCC902}.Release|Any CPU.Build.0 = Release|Any CPU + {8F73A290-BCE1-461A-9970-397FFBFCC902}.Release|x64.ActiveCfg = Release|Any CPU + {8F73A290-BCE1-461A-9970-397FFBFCC902}.Release|x64.Build.0 = Release|Any CPU + {8F73A290-BCE1-461A-9970-397FFBFCC902}.Release|x86.ActiveCfg = Release|Any CPU + {8F73A290-BCE1-461A-9970-397FFBFCC902}.Release|x86.Build.0 = Release|Any CPU {196EF313-71CB-47A9-A77D-AACAF62881A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {196EF313-71CB-47A9-A77D-AACAF62881A1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {196EF313-71CB-47A9-A77D-AACAF62881A1}.Debug|x64.ActiveCfg = Debug|Any CPU + {196EF313-71CB-47A9-A77D-AACAF62881A1}.Debug|x64.Build.0 = Debug|Any CPU + {196EF313-71CB-47A9-A77D-AACAF62881A1}.Debug|x86.ActiveCfg = Debug|Any CPU + {196EF313-71CB-47A9-A77D-AACAF62881A1}.Debug|x86.Build.0 = Debug|Any CPU {196EF313-71CB-47A9-A77D-AACAF62881A1}.Release|Any CPU.ActiveCfg = Release|Any CPU {196EF313-71CB-47A9-A77D-AACAF62881A1}.Release|Any CPU.Build.0 = Release|Any CPU + {196EF313-71CB-47A9-A77D-AACAF62881A1}.Release|x64.ActiveCfg = Release|Any CPU + {196EF313-71CB-47A9-A77D-AACAF62881A1}.Release|x64.Build.0 = Release|Any CPU + {196EF313-71CB-47A9-A77D-AACAF62881A1}.Release|x86.ActiveCfg = Release|Any CPU + {196EF313-71CB-47A9-A77D-AACAF62881A1}.Release|x86.Build.0 = Release|Any CPU {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Debug|x64.ActiveCfg = Debug|Any CPU + {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Debug|x64.Build.0 = Debug|Any CPU + {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Debug|x86.ActiveCfg = Debug|Any CPU + {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Debug|x86.Build.0 = Debug|Any CPU {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Release|Any CPU.ActiveCfg = Release|Any CPU {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Release|Any CPU.Build.0 = Release|Any CPU + {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Release|x64.ActiveCfg = Release|Any CPU + {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Release|x64.Build.0 = Release|Any CPU + {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Release|x86.ActiveCfg = Release|Any CPU + {68BB859F-E5D5-407E-9DFB-8CD478EFE90D}.Release|x86.Build.0 = Release|Any CPU {037F4B73-75FB-4570-A38A-9109B580168C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {037F4B73-75FB-4570-A38A-9109B580168C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {037F4B73-75FB-4570-A38A-9109B580168C}.Debug|x64.ActiveCfg = Debug|Any CPU + {037F4B73-75FB-4570-A38A-9109B580168C}.Debug|x64.Build.0 = Debug|Any CPU + {037F4B73-75FB-4570-A38A-9109B580168C}.Debug|x86.ActiveCfg = Debug|Any CPU + {037F4B73-75FB-4570-A38A-9109B580168C}.Debug|x86.Build.0 = Debug|Any CPU {037F4B73-75FB-4570-A38A-9109B580168C}.Release|Any CPU.ActiveCfg = Release|Any CPU {037F4B73-75FB-4570-A38A-9109B580168C}.Release|Any CPU.Build.0 = Release|Any CPU + {037F4B73-75FB-4570-A38A-9109B580168C}.Release|x64.ActiveCfg = Release|Any CPU + {037F4B73-75FB-4570-A38A-9109B580168C}.Release|x64.Build.0 = Release|Any CPU + {037F4B73-75FB-4570-A38A-9109B580168C}.Release|x86.ActiveCfg = Release|Any CPU + {037F4B73-75FB-4570-A38A-9109B580168C}.Release|x86.Build.0 = Release|Any CPU {08552602-37E7-48A7-95A2-BB1A1F57C804}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {08552602-37E7-48A7-95A2-BB1A1F57C804}.Debug|Any CPU.Build.0 = Debug|Any CPU + {08552602-37E7-48A7-95A2-BB1A1F57C804}.Debug|x64.ActiveCfg = Debug|Any CPU + {08552602-37E7-48A7-95A2-BB1A1F57C804}.Debug|x64.Build.0 = Debug|Any CPU + {08552602-37E7-48A7-95A2-BB1A1F57C804}.Debug|x86.ActiveCfg = Debug|Any CPU + {08552602-37E7-48A7-95A2-BB1A1F57C804}.Debug|x86.Build.0 = Debug|Any CPU {08552602-37E7-48A7-95A2-BB1A1F57C804}.Release|Any CPU.ActiveCfg = Release|Any CPU {08552602-37E7-48A7-95A2-BB1A1F57C804}.Release|Any CPU.Build.0 = Release|Any CPU + {08552602-37E7-48A7-95A2-BB1A1F57C804}.Release|x64.ActiveCfg = Release|Any CPU + {08552602-37E7-48A7-95A2-BB1A1F57C804}.Release|x64.Build.0 = Release|Any CPU + {08552602-37E7-48A7-95A2-BB1A1F57C804}.Release|x86.ActiveCfg = Release|Any CPU + {08552602-37E7-48A7-95A2-BB1A1F57C804}.Release|x86.Build.0 = Release|Any CPU {779BACC4-B20E-4F73-A9C7-350443CF1941}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {779BACC4-B20E-4F73-A9C7-350443CF1941}.Debug|Any CPU.Build.0 = Debug|Any CPU + {779BACC4-B20E-4F73-A9C7-350443CF1941}.Debug|x64.ActiveCfg = Debug|Any CPU + {779BACC4-B20E-4F73-A9C7-350443CF1941}.Debug|x64.Build.0 = Debug|Any CPU + {779BACC4-B20E-4F73-A9C7-350443CF1941}.Debug|x86.ActiveCfg = Debug|Any CPU + {779BACC4-B20E-4F73-A9C7-350443CF1941}.Debug|x86.Build.0 = Debug|Any CPU {779BACC4-B20E-4F73-A9C7-350443CF1941}.Release|Any CPU.ActiveCfg = Release|Any CPU {779BACC4-B20E-4F73-A9C7-350443CF1941}.Release|Any CPU.Build.0 = Release|Any CPU + {779BACC4-B20E-4F73-A9C7-350443CF1941}.Release|x64.ActiveCfg = Release|Any CPU + {779BACC4-B20E-4F73-A9C7-350443CF1941}.Release|x64.Build.0 = Release|Any CPU + {779BACC4-B20E-4F73-A9C7-350443CF1941}.Release|x86.ActiveCfg = Release|Any CPU + {779BACC4-B20E-4F73-A9C7-350443CF1941}.Release|x86.Build.0 = Release|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Debug|x64.ActiveCfg = Debug|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Debug|x64.Build.0 = Debug|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Debug|x86.ActiveCfg = Debug|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Debug|x86.Build.0 = Debug|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Release|Any CPU.Build.0 = Release|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Release|x64.ActiveCfg = Release|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Release|x64.Build.0 = Release|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Release|x86.ActiveCfg = Release|Any CPU + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B}.Release|x86.Build.0 = Release|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Debug|x64.ActiveCfg = Debug|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Debug|x64.Build.0 = Debug|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Debug|x86.ActiveCfg = Debug|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Debug|x86.Build.0 = Debug|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Release|Any CPU.Build.0 = Release|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Release|x64.ActiveCfg = Release|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Release|x64.Build.0 = Release|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Release|x86.ActiveCfg = Release|Any CPU + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -144,5 +305,7 @@ Global {037F4B73-75FB-4570-A38A-9109B580168C} = {0DC7C88C-E3DB-46DF-B47E-AC5ECB2A16B7} {08552602-37E7-48A7-95A2-BB1A1F57C804} = {0DC7C88C-E3DB-46DF-B47E-AC5ECB2A16B7} {779BACC4-B20E-4F73-A9C7-350443CF1941} = {0DC7C88C-E3DB-46DF-B47E-AC5ECB2A16B7} + {D838D8E1-997A-4053-BB2A-2CBDE9F09A0B} = {0DC7C88C-E3DB-46DF-B47E-AC5ECB2A16B7} + {DFB86DBD-17DA-4A97-A4FD-00D6E5160B3D} = {75244EBD-DFBD-4C4B-9543-C135AC142C7F} EndGlobalSection EndGlobal diff --git a/appveyor.yml b/appveyor.yml index 88ad7c2042..8bf4dbc95b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -11,3 +11,4 @@ build_script: clone_depth: 1 test: off deploy: off +os: Visual Studio 2017 \ No newline at end of file diff --git a/build/common-testapps.props b/build/common-testapps.props index fad515384e..2eb7ed13ab 100644 --- a/build/common-testapps.props +++ b/build/common-testapps.props @@ -5,18 +5,26 @@ + Condition="'$(TestIncludeViewCompilationTargets)'=='true' AND '$(TargetFramework)'=='netcoreapp2.0'"/> + + + + + + - <_MvcViewCompilationBinaryPath>$(MSBuildProjectDirectory)\$(OutputPath)Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.dll + <_MvcViewCompilationBinaryPath Condition="'$(TargetFramework)'=='netcoreapp2.0'">$(MSBuildProjectDirectory)\$(OutputPath)Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.dll + <_MvcViewCompilationBinaryPath Condition="'$(TargetFramework)'=='net461'">$(MSBuildProjectDirectory)\$(OutputPath)Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.exe diff --git a/build/common.props b/build/common.props index a2b4a36f67..a92a7975b4 100644 --- a/build/common.props +++ b/build/common.props @@ -16,4 +16,8 @@ + + + + diff --git a/build/dependencies.props b/build/dependencies.props index b00bb71768..d731c5c602 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -3,7 +3,7 @@ 2.0.0-* 0.4.0-* 2.1.0-* - $(BundledNETStandardPackageVersion) + 2.0.0-* 2.0.0-* 15.3.0-* 2.3.0-beta2-* diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.csproj b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.csproj index f641b03b42..3b984b59f5 100644 --- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.csproj +++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.csproj @@ -4,22 +4,25 @@ Build-time references required to enable Razor view compilation as part of building the application. - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 cshtml;razor;compilation;precompilation;aspnetcore true exe - - build + ..\..\tools\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86\ + + diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/net461/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/net461/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets new file mode 100644 index 0000000000..0d3599e5ec --- /dev/null +++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/net461/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets @@ -0,0 +1,50 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + $(OutputPath)$(MSBuildThisFileName).exe + $(OutputPath)$(MSBuildThisFileName)-x86.exe + + + + + + <_PreCompilationFilesToCopy Include="$(OutputPath)$(AssemblyName).exe.config"> + $(OutputPath)$(MSBuildThisFileName)-x86.exe.config + + + + + <_PreCompilationFilesToCopy Include="$(OutputPath)$(AssemblyName).exe.config" Condition=""> + $(OutputPath)$(MSBuildThisFileName).exe.config + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/netcoreapp2.0/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/netcoreapp2.0/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets index a98adaa81c..4f3da09276 100644 --- a/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/netcoreapp2.0/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets +++ b/src/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation/build/netcoreapp2.0/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets @@ -2,12 +2,13 @@ dotnet - <_MvcViewCompilationBinaryPath Condition="'$(_MvcViewCompilationBinaryPath)'==''">$(MSBuildThisFileDirectory)$(MSBuildThisFileName).dll + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + <_MvcViewCompilationBinaryPath Condition="'$(_MvcViewCompilationBinaryPath)'==''">$(MSBuildThisFileDirectory)../../lib/netcoreapp2.0/$(MSBuildThisFileName).dll diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationConsumingPrecompiledViews.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationConsumingPrecompiledViews.cs index a2eea9cc53..0b87a2602c 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationConsumingPrecompiledViews.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationConsumingPrecompiledViews.cs @@ -2,6 +2,8 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Threading.Tasks; +using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation @@ -16,9 +18,15 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation public ApplicationTestFixture Fixture { get; } - [Fact] - public async Task ConsumingClassLibrariesWithPrecompiledViewsWork() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task ConsumingClassLibrariesWithPrecompiledViewsWork(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync("Manage/Home", Fixture.Logger); @@ -34,4 +42,4 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation } } } -} +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationUsingRelativePathsTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationUsingRelativePathsTest.cs index 7cf4d81a61..9aa48f474b 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationUsingRelativePathsTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationUsingRelativePathsTest.cs @@ -2,6 +2,8 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Threading.Tasks; +using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation @@ -16,9 +18,15 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation public ApplicationTestFixture Fixture { get; } - [Fact] - public async Task Precompilation_WorksForViewsUsingRelativePath() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_WorksForViewsUsingRelativePath(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( Fixture.DeploymentResult.ApplicationBaseUri, @@ -28,9 +36,13 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation TestEmbeddedResource.AssertContent("ApplicationUsingRelativePaths.Home.Index.txt", response); } - [Fact] - public async Task Precompilation_WorksForViewsUsingDirectoryTraversal() + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_WorksForViewsUsingDirectoryTraversal(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( Fixture.DeploymentResult.ApplicationBaseUri, diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithConfigureMvcTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithConfigureMvcTest.cs index 28d9ade4e8..d85a2b8e72 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithConfigureMvcTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithConfigureMvcTest.cs @@ -2,6 +2,8 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Threading.Tasks; +using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation @@ -16,9 +18,15 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation public ApplicationTestFixture Fixture { get; } - [Fact] - public async Task Precompilation_RunsConfiguredCompilationCallbacks() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_RunsConfiguredCompilationCallbacks(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( Fixture.DeploymentResult.ApplicationBaseUri, @@ -28,9 +36,13 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation TestEmbeddedResource.AssertContent("ApplicationWithConfigureMvc.Home.Index.txt", response); } - [Fact] - public async Task Precompilation_UsesConfiguredParseOptions() + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_UsesConfiguredParseOptions(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( "Home/ViewWithPreprocessor", diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithCustomInputFilesTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithCustomInputFilesTest.cs index a8753e3139..80108f9f69 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithCustomInputFilesTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithCustomInputFilesTest.cs @@ -5,6 +5,8 @@ using System; using System.IO; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests @@ -21,10 +23,14 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests public ApplicationTestFixture Fixture { get; } - [Fact] - public async Task ApplicationWithCustomInputFiles_Works() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task ApplicationWithCustomInputFiles_Works(RuntimeFlavor flavor) { // Arrange + Fixture.CreateDeployment(flavor); var expectedText = "Hello Index!"; // Act @@ -36,10 +42,12 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests Assert.Equal(expectedText, response.Trim()); } - [Fact] - public async Task MvcRazorFilesToCompile_OverridesTheFilesToBeCompiled() + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task MvcRazorFilesToCompile_OverridesTheFilesToBeCompiled(RuntimeFlavor flavor) { // Arrange + Fixture.CreateDeployment(flavor); var expectedViews = new[] { "/Views/Home/About.cshtml", @@ -57,10 +65,12 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests Assert.Equal(expectedViews, actual); } - [Fact] - public void MvcRazorFilesToCompile_SpecificallyDoesNotPublishFilesToBeCompiled() + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public void MvcRazorFilesToCompile_SpecificallyDoesNotPublishFilesToBeCompiled(RuntimeFlavor flavor) { // Arrange + Fixture.CreateDeployment(flavor); var viewsNotPublished = new[] { "Index.cshtml", diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithParseErrorsTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithParseErrorsTest.cs index 22b1ea9d5d..e780770624 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithParseErrorsTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithParseErrorsTest.cs @@ -6,6 +6,7 @@ using System.IO; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Microsoft.Extensions.Logging.Testing; using Xunit; @@ -13,8 +14,11 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation { public class ApplicationWithParseErrorsTest { - [Fact] - public async Task PublishingPrintsParseErrors() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task PublishingPrintsParseErrors(RuntimeFlavor flavor) { // Arrange var applicationPath = ApplicationPaths.GetTestAppDirectory("ApplicationWithParseErrors"); @@ -27,7 +31,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation }; var testSink = new TestSink(); - var deploymentParameters = ApplicationTestFixture.GetDeploymentParameters(applicationPath); + var deploymentParameters = ApplicationTestFixture.GetDeploymentParameters(applicationPath, flavor); var loggerFactory = new TestLoggerFactory(testSink, enabled: true); using (var deployer = ApplicationDeployerFactory.Create(deploymentParameters, loggerFactory)) { diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithTagHelpersTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithTagHelpersTest.cs index bb69df2c17..79916aa318 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithTagHelpersTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ApplicationWithTagHelpersTest.cs @@ -1,7 +1,10 @@ // 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.Collections.Generic; +using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Server.IntegrationTesting; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation @@ -19,18 +22,32 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation { get { - return new TheoryData + var urls = new[] { "ClassLibraryTagHelper", "LocalTagHelper", }; + + var data = new TheoryData(); + foreach (var runtimeFlavor in RuntimeFlavors.SupportedFlavors) + { + foreach(var url in urls) + { + data.Add(url, runtimeFlavor); + } + } + + return data; } } [Theory] [MemberData(nameof(ApplicationWithTagHelpersData))] - public async Task Precompilation_WorksForViewsThatUseTagHelpers(string url) + public async Task Precompilation_WorksForViewsThatUseTagHelpers(string url, RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( $"Home/{url}", diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Infrastructure/ApplicationTestFixture.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Infrastructure/ApplicationTestFixture.cs index 8648eea6d0..ea2a84af6c 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Infrastructure/ApplicationTestFixture.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/Infrastructure/ApplicationTestFixture.cs @@ -14,22 +14,37 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation { public const string DotnetCLITelemetryOptOut = "DOTNET_CLI_TELEMETRY_OPTOUT"; private IApplicationDeployer _deployer; + private HttpClient _httpClient; protected ApplicationTestFixture(string applicationName) { ApplicationName = applicationName; - DeploymentResult = CreateDeployment(); - HttpClient = new HttpClient - { - BaseAddress = new Uri(DeploymentResult.ApplicationBaseUri), - }; } public string ApplicationName { get; } public string ApplicationPath => ApplicationPaths.GetTestAppDirectory(ApplicationName); - public HttpClient HttpClient { get; private set; } + public HttpClient HttpClient + { + get + { + if (_httpClient == null) + { + if (DeploymentResult == null) + { + throw new InvalidOperationException($"{nameof(CreateDeployment)} must be called prior to accessing the {nameof(HttpClient)} property."); + } + + _httpClient = new HttpClient + { + BaseAddress = new Uri(DeploymentResult.ApplicationBaseUri), + }; + } + + return _httpClient; + } + } public ILogger Logger { get; private set; } @@ -37,12 +52,12 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation public DeploymentResult DeploymentResult { get; private set; } - public virtual DeploymentParameters GetDeploymentParameters() + public virtual DeploymentParameters GetDeploymentParameters(RuntimeFlavor flavor) { - return GetDeploymentParameters(ApplicationPath); + return GetDeploymentParameters(ApplicationPath, flavor); } - public static DeploymentParameters GetDeploymentParameters(string applicationPath) + public static DeploymentParameters GetDeploymentParameters(string applicationPath, RuntimeFlavor flavor) { var telemetryOptOut = new KeyValuePair( DotnetCLITelemetryOptOut, @@ -51,11 +66,11 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation var deploymentParameters = new DeploymentParameters( applicationPath, ServerType.Kestrel, - RuntimeFlavor.CoreClr, + flavor, RuntimeArchitecture.x64) { PublishApplicationBeforeDeployment = true, - TargetFramework = "netcoreapp2.0", + TargetFramework = flavor == RuntimeFlavor.Clr ? "net461" : "netcoreapp2.0", #if DEBUG Configuration = "Debug", #else @@ -81,11 +96,11 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation public void Dispose() { - HttpClient?.Dispose(); + _httpClient?.Dispose(); _deployer?.Dispose(); } - protected static void TryDeleteDirectory(string directory) + private static void TryDeleteDirectory(string directory) { try { @@ -97,14 +112,14 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation } } - private DeploymentResult CreateDeployment() + public void CreateDeployment(RuntimeFlavor flavor) { LoggerFactory = CreateLoggerFactory(); - Logger = LoggerFactory.CreateLogger(ApplicationName); + Logger = LoggerFactory.CreateLogger($"{ApplicationName}:{flavor}"); - var deploymentParameters = GetDeploymentParameters(); + var deploymentParameters = GetDeploymentParameters(flavor); _deployer = ApplicationDeployerFactory.Create(deploymentParameters, LoggerFactory); - return _deployer.DeployAsync().Result; + DeploymentResult = _deployer.DeployAsync().Result; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/PublishWithEmbedViewSourcesTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/PublishWithEmbedViewSourcesTest.cs index ac378c4ad9..23efdf4bbf 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/PublishWithEmbedViewSourcesTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/PublishWithEmbedViewSourcesTest.cs @@ -5,6 +5,8 @@ using System; using System.IO; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests @@ -21,10 +23,14 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests public ApplicationTestFixture Fixture { get; } - [Fact] - public async Task Precompilation_CanEmbedViewSourcesAsResources() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_CanEmbedViewSourcesAsResources(RuntimeFlavor flavor) { // Arrange + Fixture.CreateDeployment(flavor); var expectedViews = new[] { "/Areas/TestArea/Views/Home/Index.cshtml", diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/RazorPagesAppTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/RazorPagesAppTest.cs index 0f6ff5ffa1..2788e30e6b 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/RazorPagesAppTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/RazorPagesAppTest.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation @@ -16,9 +17,15 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation public ApplicationTestFixture Fixture { get; } - [Fact] - public async Task Precompilation_WorksForIndexPage_UsingFolderName() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_WorksForIndexPage_UsingFolderName(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( "/", @@ -28,9 +35,13 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation TestEmbeddedResource.AssertContent("RazorPages.Index.txt", response); } - [Fact] - public async Task Precompilation_WorksForIndexPage_UsingFileName() + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_WorksForIndexPage_UsingFileName(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( "/Index", @@ -40,9 +51,13 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation TestEmbeddedResource.AssertContent("RazorPages.Index.txt", response); } - [Fact] - public async Task Precompilation_WorksForPageWithModel() + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_WorksForPageWithModel(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( "/PageWithModel?person=Dan", @@ -52,9 +67,13 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation TestEmbeddedResource.AssertContent("RazorPages.PageWithModel.txt", response); } - [Fact] - public async Task Precompilation_WorksForPageWithRoute() + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_WorksForPageWithRoute(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( "/PageWithRoute/Dan", @@ -64,9 +83,13 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation TestEmbeddedResource.AssertContent("RazorPages.PageWithRoute.txt", response); } - [Fact] - public async Task Precompilation_WorksForPageInNestedFolder() + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_WorksForPageInNestedFolder(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( "/Nested1/Nested2/PageWithTagHelper", @@ -76,9 +99,13 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation TestEmbeddedResource.AssertContent("RazorPages.Nested1.Nested2.PageWithTagHelper.txt", response); } - [Fact] - public async Task Precompilation_WorksWithPageConventions() + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_WorksWithPageConventions(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await RetryHelper.RetryRequest( () => Fixture.HttpClient.GetAsync("/Auth/Index"), diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/RuntimeFlavors.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/RuntimeFlavors.cs new file mode 100644 index 0000000000..c1bd137100 --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/RuntimeFlavors.cs @@ -0,0 +1,39 @@ +// 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.Collections.Generic; +using System.Runtime.InteropServices; +using Microsoft.AspNetCore.Server.IntegrationTesting; +using Xunit; + +namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation +{ + public static class RuntimeFlavors + { + public static IEnumerable SupportedFlavors + { + get + { + yield return RuntimeFlavor.CoreClr; + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + yield return RuntimeFlavor.Clr; + } + } + } + + public static TheoryData SupportedFlavorsTheoryData + { + get + { + var theory = new TheoryData(); + foreach (var item in SupportedFlavors) + { + theory.Add(item); + } + + return theory; + } + } + } +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppTest.cs index bc5b1e9894..b7d7dfab5d 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppTest.cs @@ -2,6 +2,8 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Threading.Tasks; +using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation @@ -15,9 +17,15 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation public ApplicationTestFixture Fixture { get; } - [Fact] - public async Task Precompilation_WorksForSimpleApps() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_WorksForSimpleApps(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( Fixture.DeploymentResult.ApplicationBaseUri, diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppWithAssemblyRenameTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppWithAssemblyRenameTest.cs index bf425a078f..1630f927d8 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppWithAssemblyRenameTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppWithAssemblyRenameTest.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation @@ -16,9 +17,15 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation public ApplicationTestFixture Fixture { get; } - [Fact] - public async Task Precompilation_WorksForSimpleApps() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task Precompilation_WorksForSimpleApps(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( Fixture.DeploymentResult.ApplicationBaseUri, @@ -35,9 +42,9 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation { } - public override DeploymentParameters GetDeploymentParameters() + public override DeploymentParameters GetDeploymentParameters(RuntimeFlavor flavor) { - var parameters = base.GetDeploymentParameters(); + var parameters = base.GetDeploymentParameters(flavor); parameters.ApplicationName = "NewAssemblyName"; return parameters; } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppX86DesktopOnlyTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppX86DesktopOnlyTest.cs new file mode 100644 index 0000000000..a27a3b94de --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/SimpleAppX86DesktopOnlyTest.cs @@ -0,0 +1,42 @@ +// 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.Threading.Tasks; +using Microsoft.AspNetCore.Server.IntegrationTesting; +using Xunit; + +namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation +{ + public class SimpleAppX86DesktopOnlyTest : IClassFixture + { + public SimpleAppX86DesktopOnlyTest(SimpleAppX86DesktopOnlyFixture fixture) + { + Fixture = fixture; + } + + public ApplicationTestFixture Fixture { get; } + + [Fact] + public async Task Precompilation_WorksForSimpleApps() + { + // Arrange + Fixture.CreateDeployment(RuntimeFlavor.Clr); + + // Act + var response = await Fixture.HttpClient.GetStringWithRetryAsync( + Fixture.DeploymentResult.ApplicationBaseUri, + Fixture.Logger); + + // Assert + TestEmbeddedResource.AssertContent("SimpleAppX86DesktopOnly.Home.Index.txt", response); + } + + public class SimpleAppX86DesktopOnlyFixture : ApplicationTestFixture + { + public SimpleAppX86DesktopOnlyFixture() + : base("SimpleAppX86DesktopOnly") + { + } + } + } +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/StrongNamedAppTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/StrongNamedAppTest.cs index b1b63329a5..2cbb400df9 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/StrongNamedAppTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/StrongNamedAppTest.cs @@ -2,6 +2,8 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Threading.Tasks; +using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation @@ -15,9 +17,15 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation public ApplicationTestFixture Fixture { get; } - [Fact] - public async Task PrecompiledAssembliesUseSameStrongNameAsApplication() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task PrecompiledAssembliesUseSameStrongNameAsApplication(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act var response = await Fixture.HttpClient.GetStringWithRetryAsync( Fixture.DeploymentResult.ApplicationBaseUri, diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ViewCompilationOptionsTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ViewCompilationOptionsTest.cs index 7f610020f5..9ccf87610a 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ViewCompilationOptionsTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.FunctionalTests/ViewCompilationOptionsTest.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using Microsoft.AspNetCore.Server.IntegrationTesting; +using Microsoft.AspNetCore.Testing.xunit; using Xunit; namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation @@ -18,18 +19,25 @@ namespace Microsoft.AspNetCore.Mvc.Razor.ViewCompilation public ApplicationTestFixture Fixture { get; } - [Fact] - public void Precompilation_PreventsRefAssembliesFromBeingPublished() + public static TheoryData SupportedFlavorsTheoryData => RuntimeFlavors.SupportedFlavorsTheoryData; + + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public void Precompilation_PreventsRefAssembliesFromBeingPublished(RuntimeFlavor flavor) { + // Arrange + Fixture.CreateDeployment(flavor); + // Act & Assert Assert.False(Directory.Exists(Path.Combine(Fixture.DeploymentResult.ContentRoot, "refs"))); } - [Fact] - public async Task PublishingWithOption_AllowsPublishingRefAssemblies() + [ConditionalTheory] + [MemberData(nameof(SupportedFlavorsTheoryData))] + public async Task PublishingWithOption_AllowsPublishingRefAssemblies(RuntimeFlavor flavor) { // Arrange - var deploymentParameters = Fixture.GetDeploymentParameters(); + var deploymentParameters = Fixture.GetDeploymentParameters(flavor); deploymentParameters.PublishEnvironmentVariables.Add( new KeyValuePair("MvcRazorExcludeRefAssembliesFromPublish", "false")); diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test.csproj b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test.csproj index 13be6743d1..1648de0212 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test.csproj +++ b/test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Test.csproj @@ -3,7 +3,9 @@ - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 diff --git a/testapps/ApplicationUsingPrecompiledViewClassLibrary/ApplicationUsingPrecompiledViewClassLibrary.csproj b/testapps/ApplicationUsingPrecompiledViewClassLibrary/ApplicationUsingPrecompiledViewClassLibrary.csproj index 1de9d7e03a..b48f592655 100644 --- a/testapps/ApplicationUsingPrecompiledViewClassLibrary/ApplicationUsingPrecompiledViewClassLibrary.csproj +++ b/testapps/ApplicationUsingPrecompiledViewClassLibrary/ApplicationUsingPrecompiledViewClassLibrary.csproj @@ -1,6 +1,8 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 diff --git a/testapps/ApplicationUsingRelativePaths/ApplicationUsingRelativePaths.csproj b/testapps/ApplicationUsingRelativePaths/ApplicationUsingRelativePaths.csproj index b56509af0d..632b2e7e05 100644 --- a/testapps/ApplicationUsingRelativePaths/ApplicationUsingRelativePaths.csproj +++ b/testapps/ApplicationUsingRelativePaths/ApplicationUsingRelativePaths.csproj @@ -1,6 +1,8 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 true diff --git a/testapps/ApplicationWithConfigureMvc/ApplicationWithConfigureMvc.csproj b/testapps/ApplicationWithConfigureMvc/ApplicationWithConfigureMvc.csproj index b56509af0d..632b2e7e05 100644 --- a/testapps/ApplicationWithConfigureMvc/ApplicationWithConfigureMvc.csproj +++ b/testapps/ApplicationWithConfigureMvc/ApplicationWithConfigureMvc.csproj @@ -1,6 +1,8 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 true diff --git a/testapps/ApplicationWithCustomInputFiles/ApplicationWithCustomInputFiles.csproj b/testapps/ApplicationWithCustomInputFiles/ApplicationWithCustomInputFiles.csproj index c180afa00f..1f3a5714e1 100644 --- a/testapps/ApplicationWithCustomInputFiles/ApplicationWithCustomInputFiles.csproj +++ b/testapps/ApplicationWithCustomInputFiles/ApplicationWithCustomInputFiles.csproj @@ -1,6 +1,8 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 true true diff --git a/testapps/ApplicationWithParseErrors/ApplicationWithParseErrors.csproj b/testapps/ApplicationWithParseErrors/ApplicationWithParseErrors.csproj index b56509af0d..632b2e7e05 100644 --- a/testapps/ApplicationWithParseErrors/ApplicationWithParseErrors.csproj +++ b/testapps/ApplicationWithParseErrors/ApplicationWithParseErrors.csproj @@ -1,6 +1,8 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 true diff --git a/testapps/ApplicationWithTagHelpers/ApplicationWithTagHelpers.csproj b/testapps/ApplicationWithTagHelpers/ApplicationWithTagHelpers.csproj index 599b96fa59..e2b4bc0a9e 100644 --- a/testapps/ApplicationWithTagHelpers/ApplicationWithTagHelpers.csproj +++ b/testapps/ApplicationWithTagHelpers/ApplicationWithTagHelpers.csproj @@ -1,6 +1,8 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 true diff --git a/testapps/ClassLibraryTagHelper/ClassLibraryTagHelper.csproj b/testapps/ClassLibraryTagHelper/ClassLibraryTagHelper.csproj index 9b2e3f2908..918c156091 100644 --- a/testapps/ClassLibraryTagHelper/ClassLibraryTagHelper.csproj +++ b/testapps/ClassLibraryTagHelper/ClassLibraryTagHelper.csproj @@ -2,7 +2,8 @@ - netstandard1.6 + netstandard1.6;net461 + netstandard1.6 diff --git a/testapps/ClassLibraryWithPrecompiledViews/ClassLibraryWithPrecompiledViews.csproj b/testapps/ClassLibraryWithPrecompiledViews/ClassLibraryWithPrecompiledViews.csproj index 9a6990c1f1..5d65410110 100644 --- a/testapps/ClassLibraryWithPrecompiledViews/ClassLibraryWithPrecompiledViews.csproj +++ b/testapps/ClassLibraryWithPrecompiledViews/ClassLibraryWithPrecompiledViews.csproj @@ -1,6 +1,8 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 obj\precompiled\$(TargetFramework) true diff --git a/testapps/PublishWithEmbedViewSources/PublishWithEmbedViewSources.csproj b/testapps/PublishWithEmbedViewSources/PublishWithEmbedViewSources.csproj index b79aeb12dc..fa1036a806 100644 --- a/testapps/PublishWithEmbedViewSources/PublishWithEmbedViewSources.csproj +++ b/testapps/PublishWithEmbedViewSources/PublishWithEmbedViewSources.csproj @@ -1,6 +1,8 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 true true diff --git a/testapps/RazorPagesApp/RazorPagesApp.csproj b/testapps/RazorPagesApp/RazorPagesApp.csproj index f141b468b9..796e4ee7c4 100644 --- a/testapps/RazorPagesApp/RazorPagesApp.csproj +++ b/testapps/RazorPagesApp/RazorPagesApp.csproj @@ -1,7 +1,9 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 true diff --git a/testapps/SimpleApp/SimpleApp.csproj b/testapps/SimpleApp/SimpleApp.csproj index b56509af0d..632b2e7e05 100644 --- a/testapps/SimpleApp/SimpleApp.csproj +++ b/testapps/SimpleApp/SimpleApp.csproj @@ -1,6 +1,8 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 true diff --git a/testapps/SimpleAppDesktopOnly/Controllers/HomeController.cs b/testapps/SimpleAppDesktopOnly/Controllers/HomeController.cs new file mode 100644 index 0000000000..0b44851019 --- /dev/null +++ b/testapps/SimpleAppDesktopOnly/Controllers/HomeController.cs @@ -0,0 +1,9 @@ +using Microsoft.AspNetCore.Mvc; + +namespace SimpleApp.Controllers +{ + public class HomeController : Controller + { + public IActionResult Index() => View(); + } +} diff --git a/testapps/SimpleAppDesktopOnly/Program.cs b/testapps/SimpleAppDesktopOnly/Program.cs new file mode 100644 index 0000000000..6ed39c5e32 --- /dev/null +++ b/testapps/SimpleAppDesktopOnly/Program.cs @@ -0,0 +1,26 @@ +using System.IO; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; + +namespace SimpleApp +{ + public class Program + { + public static void Main(string[] args) + { + var config = new ConfigurationBuilder() + .AddCommandLine(args) + .AddEnvironmentVariables(prefix: "ASPNETCORE_") + .Build(); + + var host = new WebHostBuilder() + .UseConfiguration(config) + .UseKestrel() + .UseContentRoot(Directory.GetCurrentDirectory()) + .UseStartup() + .Build(); + + host.Run(); + } + } +} diff --git a/testapps/SimpleAppDesktopOnly/SimpleAppDesktopOnly.csproj b/testapps/SimpleAppDesktopOnly/SimpleAppDesktopOnly.csproj new file mode 100644 index 0000000000..2abde147e2 --- /dev/null +++ b/testapps/SimpleAppDesktopOnly/SimpleAppDesktopOnly.csproj @@ -0,0 +1,21 @@ + + + + net461 + win7-x64 + true + + + + + + + + $(AspNetCoreVersion) + All + + + + + + diff --git a/testapps/SimpleAppDesktopOnly/Startup.cs b/testapps/SimpleAppDesktopOnly/Startup.cs new file mode 100644 index 0000000000..461873a890 --- /dev/null +++ b/testapps/SimpleAppDesktopOnly/Startup.cs @@ -0,0 +1,26 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; + +namespace SimpleApp +{ + public class Startup + { + public void ConfigureServices(IServiceCollection services) + { + // Add framework services. + services.AddMvc(); + } + + public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory) + { + loggerFactory.AddConsole(); + app.UseMvc(routes => + { + routes.MapRoute( + name: "default", + template: "{controller=Home}/{action=Index}/{id?}"); + }); + } + } +} diff --git a/testapps/SimpleAppDesktopOnly/Views/Home/Index.cshtml b/testapps/SimpleAppDesktopOnly/Views/Home/Index.cshtml new file mode 100644 index 0000000000..9c6b7fb5ff --- /dev/null +++ b/testapps/SimpleAppDesktopOnly/Views/Home/Index.cshtml @@ -0,0 +1,5 @@ +@{ + ViewData["Title"] = "Home Page"; +} + +@GetType().AssemblyQualifiedName \ No newline at end of file diff --git a/testapps/SimpleAppDesktopOnly/Views/Shared/_Layout.cshtml b/testapps/SimpleAppDesktopOnly/Views/Shared/_Layout.cshtml new file mode 100644 index 0000000000..4f65b1d219 --- /dev/null +++ b/testapps/SimpleAppDesktopOnly/Views/Shared/_Layout.cshtml @@ -0,0 +1,68 @@ + + + + + + @ViewData["Title"] - SimpleApp + + + + + + + + + + + + +
+ @RenderBody() +
+
+

© 2016 - SimpleApp

+
+
+ + + + + + + + + + + + + @RenderSection("scripts", required: false) + @GetType().AssemblyQualifiedName + + diff --git a/testapps/SimpleAppDesktopOnly/Views/_ViewImports.cshtml b/testapps/SimpleAppDesktopOnly/Views/_ViewImports.cshtml new file mode 100644 index 0000000000..71413f674c --- /dev/null +++ b/testapps/SimpleAppDesktopOnly/Views/_ViewImports.cshtml @@ -0,0 +1,2 @@ +@using SimpleApp +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/testapps/SimpleAppDesktopOnly/Views/_ViewStart.cshtml b/testapps/SimpleAppDesktopOnly/Views/_ViewStart.cshtml new file mode 100644 index 0000000000..a5f10045db --- /dev/null +++ b/testapps/SimpleAppDesktopOnly/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "_Layout"; +} diff --git a/testapps/SimpleAppWithAssemblyRename/SimpleAppWithAssemblyRename.csproj b/testapps/SimpleAppWithAssemblyRename/SimpleAppWithAssemblyRename.csproj index 4900f4273a..928bb9002a 100644 --- a/testapps/SimpleAppWithAssemblyRename/SimpleAppWithAssemblyRename.csproj +++ b/testapps/SimpleAppWithAssemblyRename/SimpleAppWithAssemblyRename.csproj @@ -1,7 +1,9 @@  NewAssemblyName - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 true diff --git a/testapps/StrongNamedApp/StrongNamedApp.csproj b/testapps/StrongNamedApp/StrongNamedApp.csproj index 0c90190e03..9e43484f7b 100644 --- a/testapps/StrongNamedApp/StrongNamedApp.csproj +++ b/testapps/StrongNamedApp/StrongNamedApp.csproj @@ -1,6 +1,8 @@  - netcoreapp2.0 + netcoreapp2.0;net461 + netcoreapp2.0 + win7-x64 ../../build/Key.snk true true diff --git a/tools/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86.csproj b/tools/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86.csproj new file mode 100644 index 0000000000..954058c0a0 --- /dev/null +++ b/tools/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86.csproj @@ -0,0 +1,20 @@ + + + + Build-time references required to enable Razor view compilation as part of building the application. + net461 + win7-x86 + exe + ..\..\src\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation + + + + + + + + + + + + \ No newline at end of file