在 Visual Studio 中启用和配置 ClickOnce 安全设置

可以在项目设计器的安全页中启用和配置 ClickOnce 安全设置。 本文介绍如何启用安全设置、配置安全区域和配置自定义安全区域。

注释

在 ClickOnce for .NET Core 和 .NET 5 或更高版本中,不支持代码访问安全性。 在 .NET Framework 中,使用代码访问安全性不是最佳做法,不建议这样做。

启用 ClickOnce 安全设置

必须启用 ClickOnce 应用程序的代码访问安全性才能发布应用程序。 使用发布向导发布应用程序时,会自动执行此作。 有关代码访问安全和安全区域的详细信息,请参阅 ClickOnce 应用程序的代码访问安全性

在某些情况下,启用代码访问安全性可能会影响生成或调试应用程序时的性能;在这些情况下,你可能希望暂时禁用安全设置。

可以在项目设计器的安全页上启用或禁用 ClickOnce 安全设置。

  1. 解决方案资源管理器中选择项目后,在 项目 菜单上,单击 属性

  2. 单击“安全”选项卡。

  3. 选中“ 启用 ClickOnce 安全设置” 复选框。

    现在可以在“安全”页上自定义应用程序的安全设置。

    注释

    每次使用 发布 向导发布应用程序时,都会自动选中此复选框。

禁用 ClickOnce 安全设置

  1. 解决方案资源管理器中选择项目后,在 项目 菜单上,单击 属性

  2. 单击“安全”选项卡。

  3. 清除“ 启用 ClickOnce 安全设置” 复选框。

    应用程序将使用完全信任安全设置运行;将忽略 “安全 ”页上的任何设置。

    注释

    每次使用发布向导发布应用程序时,都会选中此复选框;每次成功发布后,必须再次清除它。

为 ClickOnce 应用程序设置安全区域

为 ClickOnce 应用程序设置代码访问安全权限时,需要从项目设计器的安全页上的一组基本权限开始。

在大多数情况下,还可以选择包含有限权限集的 Internet 区域,或包含更大权限集的 本地 Intranet 区域。 如果应用程序需要自定义权限,可以通过选择 自定义安全区域来执行此作。

设置安全区域

  1. 解决方案资源管理器中选择项目后,在 “项目 ”菜单上单击“ 属性”。

  2. 单击“安全”选项卡。

  3. 选中“ 启用 ClickOnce 安全设置” 复选框。

  4. 选择这是部分信任应用程序选项按钮。

    ClickOnce 安全权限部分中的控件已启用。

  5. 在“您将从中安装应用程序的区域”下拉列表中,选择一个安全区域。

为 ClickOnce 应用程序设置自定义权限

可以部署 ClickOnce 应用程序,该应用程序使用 Internet 或本地 Intranet 区域的默认权限。 或者,可以为应用程序所需的特定权限创建自定义区域。 可以通过自定义项目设计器“安全”页上的安全权限来执行此作。

自定义权限

  1. 解决方案资源管理器中选择项目后,在 项目 菜单上,单击 属性

  2. 单击“安全”选项卡。

  3. 选中“ 启用 ClickOnce 安全设置” 复选框。

  4. 选择这是部分信任应用程序选项按钮。

    ClickOnce 安全权限部分中的控件已启用。

  5. “区域”中,应用程序将从下拉列表中安装,单击“自定义”。

  6. 单击 “编辑权限 XML”。

    app.manifest 文件将在 XML 编辑器中打开。

  7. </applicationRequestMinimum> 元素之前,为应用程序所需的权限添加 XML 代码。

    注释

    可以使用 ToXml 权限集的方法为应用程序清单生成 XML 代码。 例如,若要为 EnvironmentPermission 权限集生成 XML,请调用该方法 ToXml

配置安全区域调试功能

可以指定与区域中调试相关的安全设置。

  1. 解决方案资源管理器中选择项目后,在 项目 菜单上,单击 属性

  2. 单击“安全”选项卡。

  3. 选中“ 启用 ClickOnce 安全设置” 复选框。

  4. 选择这是部分信任应用程序选项按钮。

  5. 选择“高级”。

  6. 选择“ 授予应用程序对其源站点的访问权限”

    如果选中此复选框,应用程序可以访问发布它的网站或服务器共享。 默认情况下,此选项处于选中状态。

  7. “调试此应用程序”中,就像从以下 URL 框中下载一样 ,输入 URL。

    如果需要允许应用程序访问与在发布页上指定的安装 URL 对应的网站或服务器共享,请在此处输入该 URL。