0

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

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

.NET Core 项目无法通过 PowerShell 访问

那么如何以编程方式在 .NET Core 项目中设置条件编译符号呢?除了使用 install.ps1 脚本之外,还有其他方法吗?我知道,基本上,我必须找到项目 JSON 文件并添加以下条目(如果不存在)

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

但我被困在如何到达那里。

4

0 回答 0