示例#1
0
        private static void BuildWebApiProject(string solutionDirectory, IFileSystem fileSystem)
        {
            var webApiProjectClassPath = ClassPathHelper.WebApiProjectClassPath(solutionDirectory);

            WebApiCsProjBuilder.CreateWebApiCsProj(solutionDirectory);
            Utilities.ExecuteProcess("dotnet", $@"sln add ""{webApiProjectClassPath.FullClassPath}"" --solution-folder {"Api"}", solutionDirectory);

            // base folders
            Directory.CreateDirectory(ClassPathHelper.ControllerClassPath(solutionDirectory, "").ClassDirectory);
            Directory.CreateDirectory(ClassPathHelper.WebApiExtensionsClassPath(solutionDirectory, "").ClassDirectory);
            Directory.CreateDirectory(ClassPathHelper.WebApiMiddlewareClassPath(solutionDirectory, "").ClassDirectory);

            WebApiServiceExtensionsBuilder.CreateWebApiServiceExtension(solutionDirectory, fileSystem);
            WebApiAppExtensionsBuilder.CreateWebApiAppExtension(solutionDirectory, fileSystem);
            ErrorHandlerMiddlewareBuilder.CreateErrorHandlerMiddleware(solutionDirectory, fileSystem);
            AppSettingsBuilder.CreateAppSettings(solutionDirectory);
            LaunchSettingsBuilder.CreateLaunchSettings(solutionDirectory, fileSystem);
            WebApiProgramBuilder.CreateWebApiProgram(solutionDirectory, fileSystem);
            StartupBuilder.CreateStartup(solutionDirectory, "Startup", null);
        }