我有一个NuGet包,其中包含PowerShell脚本,该脚本在安装包时在目标项目上设置条件编译符号。除了那些使用project.json文件的项目(例如.NET Core,UWP)之外,这适用于所有项目。
我的脚本访问目标项目的$project.ConfigurationManager
个实例,并在必要时将符号添加到DefineConstants
条目。这对于具有project.json文件的项目不起作用 - 事实上,当我尝试通过PowerShell访问.NET Core项目时,我甚至看不到$project
对象。下图说明了这一点:虽然可以访问经典的.NET和PCL项目,但最后System.__ComObject
可能代表无法访问的.NET Core项目。
那么如何以编程方式在.NET Core项目中设置条件编译符号?是否有其他方法可以执行此操作而不是使用install.ps1脚本?我知道,基本上,我必须找到项目JSON文件并添加以下条目(如果不存在)
"buildOptions": {
"define": [ "MY_CONDITIONAL_COMPILATION_SYMBOL" ]
}
但我仍然坚持如何到达那里。