根据新ASP.NET 5项目中的配置名称构建后事件

Nic*_*kon 6 post-build-event visual-studio buildconfiguration asp.net-core

我正在为3台智能电视编写一个统一的项目.我还创建了3个配置Visual Studio.现在我想CLI根据所选配置执行一些脚本.

问题是在新ASP.NET 5项目中我没有用于后期构建事件的编辑器.

我知道我必须这样做project.json.我发现的是:

  "scripts": {
    "postbuild": ""
  }
Run Code Online (Sandbox Code Playgroud)

但是使用这个我不能CLI为不同的配置创建不同的脚本.

我发现了:

  "configurations": {
  },
Run Code Online (Sandbox Code Playgroud)

我猜这可能是我想要的,但是...如何使用它?Intellisense在这里没有权力,我也不幸在网上搜索......

[编辑]

也许我应该试试.xproj

Eri*_*est 13

您需要构建一个主脚本,该脚本使用可用的上下文和环境变量来切换和运行您选择的其他脚本.

除了变量列表Here for compile之外,你还可以获得这些与发布相关的脚本,然后这些脚本随处可用,返回的环境变量Environment.GetEnvironmentVariable也可以在这里看到.

下图显示了VS2015 Update 3 RTM中的智能感知,但它具有误导性,因为根据您使用的脚本块获取其他内容:

在此输入图像描述

因此,您可以用来控制脚本中的流的完整上下文变量列表是:

每个脚本块:

  • %项目:目录%
  • %项目名%
  • %项目:版本%

编译具体:

  • %编译:TargetFramework%
  • %编译:FullTargetFramework%
  • %编译:配置%
  • %编译:OUTPUTFILE%
  • %编译:OutputDir%
  • %编译:ResponseFile%
  • %compile:RuntimeOutputDir%(仅在运行时输出时可用)
  • %compile:RuntimeIdentifier%(仅在有运行时输出时才可用)
  • %comiple:CompilerExitCode%(仅在后编译脚本块中可用)

发布具体:

  • %发布:ProjectPath%
  • %发布:配置%
  • %发布:OutputPath%
  • %发布:TargetFramework%
  • %发布:FullTargetFramework%
  • %发布:运行%


pok*_*oke 5

我对此进行了一些调查,但没有得到任何好结果.

在脚本中有一些项目变量.不幸的是,这些非常有限:

  • %project:Name% 为您提供项目名称
  • %project:Directory% 为您提供项目目录
  • %project:Version% 为您提供项目版本

因此,无法在此处访问构建配置或环境.

其中的configurations选项project.json也仅限于构建配置,并且只允许在那里声明编译选项,因此也不起作用.

不幸的是,似乎也没有另一种解决方法.至少不是现在.我会考虑自己向DNX发送拉取请求以添加一些可以使用的其他项目变量但是目前,将时间投入到DNX中并没有任何意义:毕竟它被dotnet CLI取代了.我们将看看它是否具有访问环境的功能 - 如果没有,我可能最终会提交一个拉取请求来添加此功能.但是直到我们到达那里,我担心没有解决方案.