shell 为什么没有一种方法告诉编译器直接读取嵌入式资源的内容作为执行脚本?

lqfhib0f  于 2022-12-13  发布在  Shell
关注(0)|答案(1)|浏览(130)

从这条评论中:
资源管理器用于存储嵌入在应用程序中的资源(如图像、字符串或其他数据),而不是用于运行外部程序或脚本。
我明白它的目的是为了存储,但为什么不允许运行脚本?也许外部程序可能很大,但我想脚本足够小?

ovfsdjhp

ovfsdjhp1#

这不是一个“为什么不允许这样做"的问题,而是一个“为什么不实现这个功能"的问题,这是非常不同的。
从另一个问题的结果中,您可以看到可以将嵌入式资源的内容复制到本地文件,然后调用Process.Start来执行它。这与您请求的功能的工作原理相同,因此执行嵌入式资源 * 是允许的 *,但您必须做一些跑腿工作才能让它按照您希望的方式工作。
我不知道MS如何决定将哪些功能添加到.net中,但我认为这一功能不能直接从嵌入式资源中获得是因为以下原因的某种组合:

  • 这不是嵌入式资源的设计目的
  • 如果您需要这样做,仍然可以自己实施(根据您的其他问题)
  • 从设计的Angular 来看,鼓励开发人员将可执行文件作为嵌入式资源来存储和运行听起来像是一个安全问题
  • 需求量不大
  • 他们从没想过

相关问题