├── .gitattributes ├── TestWebApplication ├── TestWebApplication │ ├── Web.config │ ├── Index.cshtml │ ├── packages.config │ └── TestWebApplication.csproj ├── Relative.cshtml └── TestWebApplication.sln ├── OctoPack.Precompile ├── OctoPack.Precompile.csproj ├── OctoPack.Precompile.nuspec └── OctoPack.Precompile.targets ├── OctoPack.Precompile.Tests ├── OctoPack.Precompile.Tests.csproj └── BuildTest.cs ├── LICENSE ├── OctoPack.Precompile.sln ├── README.md └── .gitignore /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /TestWebApplication/TestWebApplication/Web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TestWebApplication/Relative.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = null; 3 | } 4 | 5 | 6 | 7 | 8 | OctoPack.Precompile 9 | 10 | 11 |

This page is for testing linked files. Intentionally placed outside of the project.

12 | 13 | 14 | -------------------------------------------------------------------------------- /OctoPack.Precompile/OctoPack.Precompile.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | true 6 | false 7 | OctoPack.Precompile.nuspec 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /TestWebApplication/TestWebApplication/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = null; 3 | } 4 | 5 | 6 | 7 | 8 | OctoPack.Precompile 9 | 10 | 11 |

This is a test website with a Razor view page to test the precompilation.

12 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /OctoPack.Precompile.Tests/OctoPack.Precompile.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.1 5 | false 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /TestWebApplication/TestWebApplication/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /OctoPack.Precompile/OctoPack.Precompile.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | OctoPack.Precompile 5 | 2.1.0 6 | OctoPack.Precompile 7 | Loránd Biró 8 | Loránd Biró 9 | https://github.com/LorandBiro/OctoPack.Precompile/raw/master/LICENSE 10 | https://github.com/LorandBiro/OctoPack.Precompile 11 | false 12 | true 13 | This package adds an ASP.NET precompile step to the build just before (and only if) OctoPack is called. Next time when TeamCity or another build tool invokes OctoPack, precompilation will kick in and your deploy package will contain a precompiled website. 14 | ASP.NET precompile build step for OctoPack. 15 | octopus octopack asp.net website precompile 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Loránd Biró 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestWebApplication/TestWebApplication.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27703.2026 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestWebApplication", "TestWebApplication\TestWebApplication.csproj", "{F22B1CF2-5612-457C-B5F7-4B7485AF9215}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {F22B1CF2-5612-457C-B5F7-4B7485AF9215}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {F22B1CF2-5612-457C-B5F7-4B7485AF9215}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {F22B1CF2-5612-457C-B5F7-4B7485AF9215}.Release|Any CPU.ActiveCfg = Debug|Any CPU 17 | {F22B1CF2-5612-457C-B5F7-4B7485AF9215}.Release|Any CPU.Build.0 = Debug|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {59C52B56-5D66-475F-9EC3-2B6B786ECD6E} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /OctoPack.Precompile.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27703.2026 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OctoPack.Precompile.Tests", "OctoPack.Precompile.Tests\OctoPack.Precompile.Tests.csproj", "{9DE3E183-C982-474E-8624-5ABA331CC796}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OctoPack.Precompile", "OctoPack.Precompile\OctoPack.Precompile.csproj", "{4C373433-FDAA-44E0-AAAC-611009716A08}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {9DE3E183-C982-474E-8624-5ABA331CC796}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {9DE3E183-C982-474E-8624-5ABA331CC796}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {9DE3E183-C982-474E-8624-5ABA331CC796}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {9DE3E183-C982-474E-8624-5ABA331CC796}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {4C373433-FDAA-44E0-AAAC-611009716A08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {4C373433-FDAA-44E0-AAAC-611009716A08}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {4C373433-FDAA-44E0-AAAC-611009716A08}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {4C373433-FDAA-44E0-AAAC-611009716A08}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {9C193C63-EA74-4F2F-BF63-F240237ED3C9} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OctoPack Precompile 2 | 3 | This NuGet package adds an ASP.NET precompile step to the build just before (and only if) OctoPack is called. All the files - which would be packaged by OctoPack - will be copied into an intermediate folder. The ASP.NET compiler will be executed on this intermediate folder creating the precompiled website to be packaged. If there's no nuspec file in the project the build step will generate one to tell OctoPack which files should be packaged. If you have a nuspec file you need to manually change it to include the precompiled website. 4 | 5 | I created this to enable ASP.NET precompile in a simple TeamCity-Octopus pipeline. I didn't want to put publish profiles or any complex MSBuild 'magic' into the repository just to enable a feature that should be a simple checkbox, so I created this NuGet package to hide the complexity. 6 | 7 | I tested it only with TeamCity Visual Studio build runner (VS2015) with Octopus plugin, but I'm sure there are some more complex scenarios where this simple build step is not enough. 8 | 9 | ## How to use 10 | 1. Install the `OctoPack.Precompile` NuGet package into the project you want to precompile on packaging. 11 | 2. If you don't have a nuspec file in your project you're done. Otherwise modify it to include the files in `obj\Release\Precompiled`. Here's a minimal example: 12 | 13 | ```XML 14 | 15 | 16 | 17 | YourProject 18 | YourProject 19 | YourProject 20 | 1.0.0 21 | 22 | 23 | 24 | 25 | 26 | ``` 27 | 28 | > Visit http://docs.octopusdeploy.com/display/OD/Using+OctoPack or http://docs.nuget.org/create/nuspec-reference for more information. 29 | 30 | That's it. Next time TeamCity or another build tool invokes OctoPack, precompilation will kick in and your deploy package will contain a precompiled website. 31 | -------------------------------------------------------------------------------- /OctoPack.Precompile.Tests/BuildTest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.IO; 4 | using System.IO.Compression; 5 | using System.Linq; 6 | using System.Net; 7 | using System.Threading.Tasks; 8 | using Xunit; 9 | using Xunit.Abstractions; 10 | 11 | namespace OctoPack.Precompile.Tests 12 | { 13 | public class BuildTest 14 | { 15 | private const string MSBuildPath = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\MSBuild\\15.0\\Bin\\MSBuild.exe"; 16 | private static readonly string SolutionDirectoryPath = Path.GetFullPath(Path.Join(Environment.CurrentDirectory, "..\\..\\..\\..\\TestWebApplication")); 17 | private static readonly string SolutionFilePath = Path.Join(SolutionDirectoryPath, "TestWebApplication.sln"); 18 | private static readonly string NuGetPackagePath = Path.Join(SolutionDirectoryPath, "TestWebApplication\\bin\\TestWebApplication.0.0.0.0.nupkg"); 19 | 20 | private readonly ITestOutputHelper output; 21 | 22 | public BuildTest(ITestOutputHelper output) 23 | { 24 | this.output = output ?? throw new ArgumentNullException(nameof(output)); 25 | } 26 | 27 | [Fact] 28 | public async Task EnablingOctoPackEnablesOctoPackPrecompileAutomatically() 29 | { 30 | await this.BuildAsync("/p:RunOctoPack=true"); 31 | using (ZipArchive archive = ZipFile.OpenRead(NuGetPackagePath)) 32 | { 33 | // Precompilation is enabled by default and we assert this by checking whether PrecompiledApp.config exists. It's created by the aspnetcompiler.exe. 34 | Assert.True(archive.Entries.Any(x => x.FullName == "PrecompiledApp.config"), "Couldn't find compiled files in the output NuGet package."); 35 | 36 | // There's a linked file in the test project and here we assert that it's properly resolved and packaged. 37 | Assert.True(archive.Entries.Any(x => x.FullName == "Relative.cshtml"), "Couldn't find the linked file in the package."); 38 | } 39 | } 40 | 41 | [Fact] 42 | public async Task RunOctoPackPrecompile_CanBeUsedToDisableThePrecompilation() 43 | { 44 | await this.BuildAsync("/p:RunOctoPack=true /p:RunOctoPackPrecompile=false"); 45 | using (ZipArchive archive = ZipFile.OpenRead(NuGetPackagePath)) 46 | { 47 | // By setting RunOctoPackPrecompile to false we can disable the precompilation, so we should not find the PrecompiledApp.config file. 48 | Assert.False(archive.Entries.Any(x => x.FullName == "PrecompiledApp.config"), "Found compiled files in the output NuGet package."); 49 | } 50 | } 51 | 52 | private async Task BuildAsync(string arguments) 53 | { 54 | await this.RestoreNuGetPackagesAsync(); 55 | await this.ExecuteProcessAsync(MSBuildPath, $"{SolutionFilePath} /target:Rebuild {arguments}"); 56 | } 57 | 58 | private async Task RestoreNuGetPackagesAsync() 59 | { 60 | await this.EnsureNuGetIsDownloadedAsync(); 61 | await this.ExecuteProcessAsync("nuget.exe", $"restore {SolutionFilePath}"); 62 | } 63 | 64 | private async Task EnsureNuGetIsDownloadedAsync() 65 | { 66 | if (File.Exists("nuget.exe")) 67 | { 68 | return; 69 | } 70 | 71 | WebClient wc = new WebClient(); 72 | await wc.DownloadFileTaskAsync(new Uri("https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"), "nuget.exe"); 73 | } 74 | 75 | private async Task ExecuteProcessAsync(string filePath, string arguments) 76 | { 77 | ProcessStartInfo psi = new ProcessStartInfo(filePath, arguments) 78 | { 79 | UseShellExecute = false, 80 | RedirectStandardOutput = true 81 | }; 82 | 83 | using (Process process = Process.Start(psi)) 84 | { 85 | string log = await process.StandardOutput.ReadToEndAsync(); 86 | this.output.WriteLine(log); 87 | if (process.ExitCode != 0) 88 | { 89 | Assert.True(false, $"{Path.GetFileName(filePath)} failed with exit code {process.ExitCode}. See test output."); 90 | } 91 | } 92 | } 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /OctoPack.Precompile/OctoPack.Precompile.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | true 5 | $(IntermediateOutputPath)PrecompiledIntermediate\ 6 | $(IntermediateOutputPath)Precompiled\ 7 | $(IntermediateOutputPath)$(OctoPackProjectName).nuspec 8 | 9 | 10 | 11 | 12 | $(OctoPackPrecompileNuSpecFileName) 13 | 14 | 15 | 16 | 17 | $(OctoPackProjectName) 18 | $(OctoPackProjectName) 19 | $(OctoPackProjectName) 20 | 1.0.0 21 | 22 | 23 | 24 | 25 | 26 | ]]> 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 45 | 46 | 47 | 48 | 54 | $(OctoPackPrecompileIntermediateOutputPath)$([System.String]::Copy('%(FullPath)').Substring($(ProjectDir.Length))) 55 | 56 | 57 | 58 | 61 | $(OctoPackPrecompileIntermediateOutputPath)%(CollectedFiles.Link) 62 | 63 | 64 | 65 | 66 | 67 | 68 | 70 | 71 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.userosscache 8 | *.sln.docstates 9 | 10 | # User-specific files (MonoDevelop/Xamarin Studio) 11 | *.userprefs 12 | 13 | # Build results 14 | [Dd]ebug/ 15 | [Dd]ebugPublic/ 16 | [Rr]elease/ 17 | [Rr]eleases/ 18 | x64/ 19 | x86/ 20 | bld/ 21 | [Bb]in/ 22 | [Oo]bj/ 23 | [Ll]og/ 24 | 25 | # Visual Studio 2015 cache/options directory 26 | .vs/ 27 | # Uncomment if you have tasks that create the project's static files in wwwroot 28 | #wwwroot/ 29 | 30 | # MSTest test Results 31 | [Tt]est[Rr]esult*/ 32 | [Bb]uild[Ll]og.* 33 | 34 | # NUNIT 35 | *.VisualState.xml 36 | TestResult.xml 37 | 38 | # Build Results of an ATL Project 39 | [Dd]ebugPS/ 40 | [Rr]eleasePS/ 41 | dlldata.c 42 | 43 | # DNX 44 | project.lock.json 45 | project.fragment.lock.json 46 | artifacts/ 47 | Properties/launchSettings.json 48 | 49 | *_i.c 50 | *_p.c 51 | *_i.h 52 | *.ilk 53 | *.meta 54 | *.obj 55 | *.pch 56 | *.pdb 57 | *.pgc 58 | *.pgd 59 | *.rsp 60 | *.sbr 61 | *.tlb 62 | *.tli 63 | *.tlh 64 | *.tmp 65 | *.tmp_proj 66 | *.log 67 | *.vspscc 68 | *.vssscc 69 | .builds 70 | *.pidb 71 | *.svclog 72 | *.scc 73 | 74 | # Chutzpah Test files 75 | _Chutzpah* 76 | 77 | # Visual C++ cache files 78 | ipch/ 79 | *.aps 80 | *.ncb 81 | *.opendb 82 | *.opensdf 83 | *.sdf 84 | *.cachefile 85 | *.VC.db 86 | *.VC.VC.opendb 87 | 88 | # Visual Studio profiler 89 | *.psess 90 | *.vsp 91 | *.vspx 92 | *.sap 93 | 94 | # TFS 2012 Local Workspace 95 | $tf/ 96 | 97 | # Guidance Automation Toolkit 98 | *.gpState 99 | 100 | # ReSharper is a .NET coding add-in 101 | _ReSharper*/ 102 | *.[Rr]e[Ss]harper 103 | *.DotSettings.user 104 | 105 | # JustCode is a .NET coding add-in 106 | .JustCode 107 | 108 | # TeamCity is a build add-in 109 | _TeamCity* 110 | 111 | # DotCover is a Code Coverage Tool 112 | *.dotCover 113 | 114 | # Visual Studio code coverage results 115 | *.coverage 116 | *.coveragexml 117 | 118 | # NCrunch 119 | _NCrunch_* 120 | .*crunch*.local.xml 121 | nCrunchTemp_* 122 | 123 | # MightyMoose 124 | *.mm.* 125 | AutoTest.Net/ 126 | 127 | # Web workbench (sass) 128 | .sass-cache/ 129 | 130 | # Installshield output folder 131 | [Ee]xpress/ 132 | 133 | # DocProject is a documentation generator add-in 134 | DocProject/buildhelp/ 135 | DocProject/Help/*.HxT 136 | DocProject/Help/*.HxC 137 | DocProject/Help/*.hhc 138 | DocProject/Help/*.hhk 139 | DocProject/Help/*.hhp 140 | DocProject/Help/Html2 141 | DocProject/Help/html 142 | 143 | # Click-Once directory 144 | publish/ 145 | 146 | # Publish Web Output 147 | *.[Pp]ublish.xml 148 | *.azurePubxml 149 | # TODO: Comment the next line if you want to checkin your web deploy settings 150 | # but database connection strings (with potential passwords) will be unencrypted 151 | *.pubxml 152 | *.publishproj 153 | 154 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 155 | # checkin your Azure Web App publish settings, but sensitive information contained 156 | # in these scripts will be unencrypted 157 | PublishScripts/ 158 | 159 | # NuGet Packages 160 | *.nupkg 161 | # The packages folder can be ignored because of Package Restore 162 | **/packages/* 163 | # except build/, which is used as an MSBuild target. 164 | !**/packages/build/ 165 | # Uncomment if necessary however generally it will be regenerated when needed 166 | #!**/packages/repositories.config 167 | # NuGet v3's project.json files produces more ignoreable files 168 | *.nuget.props 169 | *.nuget.targets 170 | 171 | # Microsoft Azure Build Output 172 | csx/ 173 | *.build.csdef 174 | 175 | # Microsoft Azure Emulator 176 | ecf/ 177 | rcf/ 178 | 179 | # Windows Store app package directories and files 180 | AppPackages/ 181 | BundleArtifacts/ 182 | Package.StoreAssociation.xml 183 | _pkginfo.txt 184 | 185 | # Visual Studio cache files 186 | # files ending in .cache can be ignored 187 | *.[Cc]ache 188 | # but keep track of directories ending in .cache 189 | !*.[Cc]ache/ 190 | 191 | # Others 192 | ClientBin/ 193 | ~$* 194 | *~ 195 | *.dbmdl 196 | *.dbproj.schemaview 197 | *.jfm 198 | *.pfx 199 | *.publishsettings 200 | node_modules/ 201 | orleans.codegen.cs 202 | 203 | # Since there are multiple workflows, uncomment next line to ignore bower_components 204 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 205 | #bower_components/ 206 | 207 | # RIA/Silverlight projects 208 | Generated_Code/ 209 | 210 | # Backup & report files from converting an old project file 211 | # to a newer Visual Studio version. Backup files are not needed, 212 | # because we have git ;-) 213 | _UpgradeReport_Files/ 214 | Backup*/ 215 | UpgradeLog*.XML 216 | UpgradeLog*.htm 217 | 218 | # SQL Server files 219 | *.mdf 220 | *.ldf 221 | 222 | # Business Intelligence projects 223 | *.rdl.data 224 | *.bim.layout 225 | *.bim_*.settings 226 | 227 | # Microsoft Fakes 228 | FakesAssemblies/ 229 | 230 | # GhostDoc plugin setting file 231 | *.GhostDoc.xml 232 | 233 | # Node.js Tools for Visual Studio 234 | .ntvs_analysis.dat 235 | 236 | # Visual Studio 6 build log 237 | *.plg 238 | 239 | # Visual Studio 6 workspace options file 240 | *.opt 241 | 242 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 243 | *.vbw 244 | 245 | # Visual Studio LightSwitch build output 246 | **/*.HTMLClient/GeneratedArtifacts 247 | **/*.DesktopClient/GeneratedArtifacts 248 | **/*.DesktopClient/ModelManifest.xml 249 | **/*.Server/GeneratedArtifacts 250 | **/*.Server/ModelManifest.xml 251 | _Pvt_Extensions 252 | 253 | # Paket dependency manager 254 | .paket/paket.exe 255 | paket-files/ 256 | 257 | # FAKE - F# Make 258 | .fake/ 259 | 260 | # JetBrains Rider 261 | .idea/ 262 | *.sln.iml 263 | 264 | # CodeRush 265 | .cr/ 266 | 267 | # Python Tools for Visual Studio (PTVS) 268 | __pycache__/ 269 | *.pyc 270 | 271 | # Cake - Uncomment if you are using it 272 | # tools/ 273 | -------------------------------------------------------------------------------- /TestWebApplication/TestWebApplication/TestWebApplication.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | Debug 4 | AnyCPU 5 | {F22B1CF2-5612-457C-B5F7-4B7485AF9215} 6 | {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} 7 | Library 8 | TestWebApplication 9 | TestWebApplication 10 | v4.7.2 11 | bin/ 12 | 10.0 13 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 14 | 15 | true 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ..\packages\Microsoft.AspNet.WebPages.3.2.6\lib\net45\System.Web.Helpers.dll 30 | 31 | 32 | ..\packages\Microsoft.AspNet.Mvc.5.2.6\lib\net45\System.Web.Mvc.dll 33 | 34 | 35 | ..\packages\Microsoft.AspNet.Razor.3.2.6\lib\net45\System.Web.Razor.dll 36 | 37 | 38 | ..\packages\Microsoft.AspNet.WebPages.3.2.6\lib\net45\System.Web.WebPages.dll 39 | 40 | 41 | ..\packages\Microsoft.AspNet.WebPages.3.2.6\lib\net45\System.Web.WebPages.Deployment.dll 42 | 43 | 44 | ..\packages\Microsoft.AspNet.WebPages.3.2.6\lib\net45\System.Web.WebPages.Razor.dll 45 | 46 | 47 | ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll 48 | 49 | 50 | ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll 51 | 52 | 53 | 54 | 55 | 56 | 57 | Relative.cshtml 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | True 84 | True 85 | 0 86 | / 87 | http://localhost:5822/ 88 | False 89 | False 90 | 91 | 92 | False 93 | 94 | 95 | 96 | 97 | --------------------------------------------------------------------------------