类型提供程序安全性

类型提供程序是由 F# 项目或脚本引用的程序集(DLL),其中包含用于连接到外部数据源的代码,并将此类型信息呈现到 F# 类型环境。 通常,只有在编译并执行代码时,引用的程序集代码才会执行(或者在脚本的情况下,在 F# Interactive 中运行代码)。 但在 Visual Studio 中,即使仅在编辑器中浏览代码,类型提供程序也会运行。 发生这种情况是因为类型提供程序需要运行,以便向编辑器添加额外信息,例如快速信息提示、智能感知补全等。 因此,类型提供程序程序集存在额外的安全注意事项,因为它们在 Visual Studio 进程中自动运行。

安全警告对话框

首次使用特定类型提供程序程序集时,Visual Studio 会显示一个安全对话框,警告你类型提供程序即将运行。 在 Visual Studio 加载类型提供程序之前,它为你提供了确定是否信任此特定提供程序的机会。 如果信任类型提供程序的源,请选择“我信任此类型提供程序”。如果不信任类型提供程序的源,请选择“我不信任此类型提供程序”。信任提供程序可在 Visual Studio 中运行,并提供 IntelliSense 和生成功能。 但是,如果类型提供程序本身是恶意的,则运行其代码可能会损害计算机。

如果您的项目中包含的代码引用了您在对话框中选择不信任的类型提供程序,那么在编译时,编译器将报告一个错误,说明该类型提供程序不受信任。 任何依赖于不受信任的类型提供程序的类型都以红色波浪线表示。 在编辑器中浏览代码是安全的。

如果决定直接在 Visual Studio 中更改信任设置,请执行以下步骤。

更改类型提供程序的信任设置

  1. Tools 菜单上,选择 Options并展开 F# Tools 节点。

  2. 选中 Type Providers,然后在类型提供程序列表中,选中你信任的类型提供程序的复选框,并清除不信任的类型提供程序的复选框。

另请参阅