【问题标题】:running dotnet publish in post build event in asp.net core在 asp.net 核心的构建后事件中运行 dotnet publish
【发布时间】:2016-09-01 05:07:37
【问题描述】:

我想在构建后发布我的网站。有没有办法在 asp,net core 的构建后事件中运行 dotnet publish 命令? 这是我的 project.json 文件:

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "Model": "1.0.0-*",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0"

  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "prepublish": [
      //"bower install"
    ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ],
    "postbuild": "[call  $(ProjectDir)Publish.bat]"

  }
}

【问题讨论】:

  • 您是否尝试将dotnet publish 作为postcompile 脚本运行?
  • @Pawel 是的,它不起作用
  • 我不知道这到底是什么意思... - 是有错误还是什么? (作为旁注 - 我不太清楚你为什么要在构建上发布......)
  • @Pawel 我测试它:dotnet publish --framework netcoreapp1.0 --output "c:\temp\Api" --configuration 发布但不工作。我也尝试运行 bat 文件但不是再次工作。
  • 再次“不工作”非常模糊。是你构建Debug但尝试发布Release还是构建net461并发布netcoreapp1.0?

标签: c# asp.net-core publish build-events


【解决方案1】:

在您的构建后事件中将--no-build 参数添加到dotnet publish。默认情况下,dotnet publish 将运行构建,这将触发构建后事件,然后将尝试再次发布,这将导致无限循环,似乎使构建挂起。

【讨论】:

    猜你喜欢
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多