我无法加载@bazel_工具

我无法加载@bazel_工具,bazel,Bazel,我正在尝试使用bazel编译一些不完整的、依赖于平台的C#代码,我在定义平台时遇到了很多问题 我定义了两个平台: platform ( name = "darwin", constraint_values = [ "@bazel_tools//platform:osx", ], ) platform ( name = "windows", constraint_values = [ "@bazel_tools//platform:windows"

我正在尝试使用bazel编译一些不完整的、依赖于平台的C#代码,我在定义平台时遇到了很多问题

我定义了两个平台:

platform (
   name = "darwin",
   constraint_values = [
     "@bazel_tools//platform:osx",
   ],
)
platform (
   name = "windows",
   constraint_values = [
     "@bazel_tools//platform:windows",
   ],
)
然后我在
genrule
BUILD
文件的其他地方选择使用它:

cmd = select ({
   ":darwin" : "a bash command",
   ":windows" : "a long and complex windows command because windows is stupid and makes everything much much more complex than it has to be"
})
然而,当我试图构建某个东西时,我会在以下方面出错:

no such package '@bazel_tools//platform': BUILD file not found on package path and referenced by //<package>:darwin
没有这样的包“@bazel_tools//platform”:在包路径上找不到生成文件,并且由//:darwin引用
我认为这意味着
@bazel_工具
不可用


声称
@bazel_tools
是内置的,所以这对我来说是一个很大的惊喜——对我来说,“内置”意味着“你不需要做任何事情就可以使用它”。我也找不到任何可以告诉我如何解决问题的信息。

我相信目录是:


@bazel\u tools//platforms:osx“

我相信目录是platforms”:


@bazel\u tools//platforms:osx“
平台
规则未定义可在select()中使用的配置设置。您应该使用
config\u设置

这对我很有用:

config_setting(
  name = "darwin",
  constraint_values = [
     "@bazel_tools//platforms:osx",
     "@bazel_tools//platforms:x86_64"
  ]
)
config_setting(
  name = "linux_x86",
  constraint_values = [
     "@bazel_tools//platforms:linux",
     "@bazel_tools//platforms:x86_64"
  ]
)

平台
规则未定义可在select()中使用的配置设置。您应该使用
config\u设置

这对我很有用:

config_setting(
  name = "darwin",
  constraint_values = [
     "@bazel_tools//platforms:osx",
     "@bazel_tools//platforms:x86_64"
  ]
)
config_setting(
  name = "linux_x86",
  constraint_values = [
     "@bazel_tools//platforms:linux",
     "@bazel_tools//platforms:x86_64"
  ]
)

似乎如此:-)似乎如此:-)