异常:未设置应用程序标识

本文关键字:应用程序 标识 设置 异常 | 更新日期: 2023-09-27 18:35:51

我在尝试使用任何部署成员时遇到此异常,例如我在以下简单代码中尝试:

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    MsgBox(If(My.Application.Deployment.IsFirstRun, "Yes", "No"))
End Sub
End Class

异常消息:Application identity is not set

该异常发生在调试和发布中,在VS2012中,目标是Winforms中的FW 4.0。

我在这里阅读: 未设置应用程序标识异常

。还有这里:无效部署异常 - 未设置应用程序标识

我不记得如何在项目设置中停用异常检查,但无论如何有一种方法可以在不手动禁用异常的情况下避免此异常?

原因只是我不想手动禁用异常并记住为我的每个存储和未来的项目执行此操作,我想以自然的方式解决此问题。

异常:未设置应用程序标识

它是一个 ClickOnce 应用程序吗?是网络部署的?你在调试吗?这在调试模式下不起作用。

如果要调试,请使用以下命令进行测试:

If Not System.Diagnostics.Debugger.IsAttached Then
    firstRun = My.Application.Deployment.IsFirstRun
End If

-

由于它不是网络部署的应用程序,我会检查该应用程序之前是否已启动,保存用户设置或在注册表中建立值。

您正在调用的方法仅适用于单击一次部署的应用程序。 您必须像这样将所有部署代码括在 IF 中:

If System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed Then
...Your code here
End If

否则它会出错。

这确实使调试代码变得困难,因为它仅在部署时运行,但您应该创建一个带有消息框的测试应用程序以查看正在发生的情况。

如果不创建单击一次部署,请不要使用这些类!