如何在安装NuGet包时以编程方式在.NET Core项目中定义条件编译符号?

时间:2016-07-14 15:38:47

标签: .net powershell nuget .net-core project.json

我有一个NuGet包,其中包含PowerShell脚本,该脚本在安装包时在目标项目上设置条件编译符号。除了那些使用project.json文件的项目(例如.NET Core,UWP)之外,这适用于所有项目。

我的脚本访问目标项目的$project.ConfigurationManager个实例,并在必要时将符号添加到DefineConstants条目。这对于具有project.json文件的项目不起作用 - 事实上,当我尝试通过PowerShell访问.NET Core项目时,我甚至看不到$project对象。下图说明了这一点:虽然可以访问经典的.NET和PCL项目,但最后System.__ComObject可能代表无法访问的.NET Core项目。

.NET Core project cannot be accessed via PowerShell

那么如何以编程方式在.NET Core项目中设置条件编译符号?是否有其他方法可以执行此操作而不是使用install.ps1脚本?我知道,基本上,我必须找到项目JSON文件并添加以下条目(如果不存在)

"buildOptions": {
  "define": [ "MY_CONDITIONAL_COMPILATION_SYMBOL" ]
}

但我仍然坚持如何到达那里。

0 个答案:

没有答案