2

我正在 VS 在线团队服务上构建持续集成和部署步骤。这是一个 asp.net 核心项目,它使用 web-compiler 来编译 sass/scss 文件,然后使用 BundlerMinifier 来打包和缩小文件。

我发现了这个问题, BundlerMinifier 和 WebCompiler在 stackoverflow上构建时不会输出文件。这是我原来的问题

在构建日志中,我发现了以下消息

2017-08-03T15:02:26.7240383Z [33m[1m wwwroot/css/comsite.css 未找到[0m[39m[49m

有一个 scss 文件生成 1143 行的 comsite.css 文件。但是文件上有一些计算,所以我想这需要一些时间。所以我的理解是捆绑器在 web 编译器生成文件之前运行。因此,我尝试在构建之前运行 compilerconfig.json 并在构建之后运行 bundlerconfig.json。它没有帮助。现在,我正在尝试在构建后运行两者,请检查下图

vs2017 上的 TaskRunner

问题是我无法在捆绑程序之前将编译器配置向上移动。所以,我的问题是有什么方法可以在任务运行器的捆绑器之前运行编译器?

更新

如评论 bundleconfig.json 中所述

[
  {
    "outputFileName": "wwwroot/css/bootstrap337.min.css",
    "inputFiles": [
      "wwwroot/lib/bootstrap/dist/css/bootstrap.css"
    ]
  },
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ]
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/css/metro-all.min.css",
    "inputFiles": [
      "wwwroot/css/metro.css",
      "wwwroot/css/metro-responsive.css",
      "wwwroot/css/metro-helper.css",
      "wwwroot/css/metro-icons.css"
    ]
  },
  {
    "outputFileName": "wwwroot/js/metro-base.min.js",
    "inputFiles": [
      "wwwroot/js/metro-base.js"
    ]
  }
]

编译器配置.json

[
  {
    "outputFile": "wwwroot/css/site.css",
    "inputFile": "wwwroot/scss/site.scss"
  },
  {
    "outputFile": "wwwroot/scss/main.css",
    "inputFile": "wwwroot/scss/main.scss"
  },
  {
    "outputFile": "wwwroot/scss/default.css",
    "inputFile": "wwwroot/scss/default.scss"
  }
]

以及 web 项目的构建日志

[命令]"C:\Program Files\dotnet\dotnet.exe" build d:\a\1\s\src\SY.Manager\SY.Manager.csproj --配置发布/maxcpucount:3 2017-08-03T12 :36:17.3376673Z Microsoft (R) Build Engine 版本 15.1.1012.6693 2017-08-03T12:36:17.3426644Z 版权所有 (C) Microsoft Corporation。版权所有。2017-08-03T12:36:17.3426644Z 2017-08-03T12:36:18.3840789Z
考虑使用 'await' 运算符来等待非阻塞 API 调用,或使用 'await Task.Run(...)' 在后台线程上执行 CPU 密集型工作。[d:\a\1\s\src\SY.Manager\SY.Manager.csproj]

2017-08-03T12:36:36.2084047Z Controllers\RolesController.cs(184,73):警告 CS0618:“ApplicationRole.RoleName”已过时:“重复字段。请改用名称字段。[d:\a\1\s\src\SY.Manager\SY.Manager.csproj]

2017-08-03T12:36:36.4348318Z SY.Manager -> d:\a\1\s\src\SY.Manager\bin\release\netcoreapp1.1\SY.Manager.dll 2017-08-03T12:36 :42.5313140Z Razor 视图编译 SY.Manager -> bin\release\netcoreapp1.1\SY.Manager.PrecompiledViews.dll 2017-08-03T12:36:42.5413146Z 2017-08-03T12:36:42.5413146Z 构建成功。2017-08-03T12:36:42.5413146Z 2017-08-03T12:36:42.5413146Z Controllers\ApiResourcesController.cs(150,42):警告 CS1998:此异步方法缺少“等待”运算符并将同步运行。考虑使用 'await' 运算符来等待非阻塞 API 调用,或使用 'await Task.Run(...)' 在后台线程上执行 CPU 密集型工作。[d:\a\1\s\src\SY.Manager\SY.Manager.csproj] 2017-08-03T12:36:42.5423139Z 6 警告 2017-08-03T12:36:42.5423139Z 0 错误( s) 2017-08-03T12:36:42。

更新了构建日志

请在下面找到由 VSOnline Build Solution 任务创建的日志。我添加了完整项目的日志,但删除了一些细节以使其尽可能短

2017-08-18T09:14:15.9528421Z 项目“d:\a\1\s\SY.sln”(1)正在构建“d:\a\1\s\test\SY.ManagerTests\SY.ManagerTests。 csproj" (11) 在节点 1(默认目标)上。2017-08-18T09:14:15.9539325Z PrepareForBuild: 2017-08-18T09:14:15.9539325Z 创建目录“bin\Release\netcoreapp1.1\”。2017-08-18T09:14:15.9539325Z 创建目录“obj\Release\netcoreapp1.1\”。2017-08-18T09:14:17.9102914Z 项目“d:\a\1\s\test\SY.ManagerTests\SY.ManagerTests.csproj”(11)正在构建“d:\a\1\s\src\ SY.Manager\SY.Manager.csproj" (12:2) 在节点 1(默认目标)上。2017-08-18T09:14:17.9102914Z BundleMinify: 2017-08-18T09:14:17.9102914Z 2017-08-18T09:14:17.9102914Z
捆绑器:开始处理 bundleconfig.json 2017-08-18T09:14:17.9733689Z 缩小 wwwroot/css/bootstrap337.min.css 2017-08-18T09:14:17.9743707Z [33m [1m wwwroot/css/site.css 没有找到[0m[39m[49m 2017-08-18T09:14:18.2918725Z 缩小 wwwroot/js/site.min.js 2017-08-18T09:14:21.9681289Z 缩小 wwwroot/css/metro-all.min.css 2017 -08-18T09:14:21.9781425Z 缩小 wwwroot/js/metro-base.min.js 2017-08-18T09:14:21.9781425Z 捆绑器:完成处理 bundleconfig.json 2017-08-18T09:14:21.9831479Z PrepareForBuild: 2017-08-18T09:14:21.9831479Z 创建目录“bin\Release\netcoreapp1.1\”。2017-08-18T09:14:21.9831479Z 创建目录“obj\Release\netcoreapp1.1\”。2017-08-18T09:14:24.6830316Z PreComputeCompileTypeScript: 2017-08-18T09:14:24.6830316ZC: \Program Files (x86)\Microsoft SDKs\TypeScript\2.2\tsc.exe --noEmitOnError --listEmittedFiles 2017-08-18T09:14:24.6840303Z CompileTypeScript: 2017-08-18T09:14:24.6840303ZC:\Program Files ( x86)\Microsoft SDKs\TypeScript\2.2\tsc.exe --noEmitOnError --listEmittedFiles 2017-08-18T09:14:24.6850285Z GenerateTargetFrameworkMonikerAttribute: 2017-08-18T09:14:24.6850285Z 跳过目标“GenerateTargetFrameworkMonikerAttribute”,因为所有输出文件相对于输入文件是最新的。2017-08-18T09:14:24.7019946Z CoreCompile: 2017-08-18T09:14:24.7089830Z C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Roslyn\csc.exe / noconfig /unsafe- /checked- /nowarn:1701,1702,1705 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE;RELEASE;NETCOREAPP1_1 /reference:C:

Controllers\ApiController.cs {其他控制器}.... Models\ApiViewModels\CreateApiViewModel.cs {其他视图模型}...

Program.cs Startup.cs Utility\Notify.cs ViewComponents\HostListViewComponent.cs "d:\a_temp.NETCoreApp,Version=v1.1.AssemblyAttributes.cs" obj\Release\netcoreapp1.1\SY.Manager.AssemblyInfo.cs 2017 -08-18T09:14:24.7139726Z 使用来自目录的编译器共享编译:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Roslyn

2017-08-18T09:14:25.4616323Z _CopyFilesMarkedCopyLocal: 2017-08-18T09:14:25.4616323Z 从“d:\a\1\s\src\SY.Data\bin\Release\netcoreapp1.1\SY 复制文件.Data.dll”到“bin\Release\netcoreapp1.1\SY.Data.dll”。2017-08-18T09:14:25.4626294Z 将文件从“d:\a\1\s\src\SY.Data\bin\Release\netcoreapp1.1\SY.Data.pdb”复制到“bin\Release\netcoreapp1 .1\SY.Data.pdb”。2017-08-18T09:14:25.4626294Z GetTypeScriptCopyToOutputDirectoryItems: 2017-08-18T09:14:25.4626294Z 将 BuildAction=TypeScriptCompile 的项目添加到将由 GetCopyToOutputDirectoryItems 目标 2017-08 填充的相同集合(使用其他 BuildAction 的项目) -18T09:14:25.4875852Z _CopyOutOfDateSourceItemsToOutputDirectoryAlways: 2017-08-18T09:14:25.4885844Z 从“d:\a\1\s\src\SY.

捆绑器在这里找到了 css 文件,但从将 scss 编译为 css 的 web 编译器中看不到任何东西

4

0 回答 0