gpt4 book ai didi

c# - 为什么 Application.LocalUserAppDataPath 抛出 InvalidDeploymentException "Application identity is not set."

转载 作者:太空宇宙 更新时间:2023-11-03 16:47:24 25 4
gpt4 key购买 nike

我这里有一个简单的程序来演示我遇到的问题。我有一个我正在尝试使用的库,它是 .net 并为 x86/32 位开发。现在我在 64 位和 visual studio 中的窗口在调试图像格式不正确时出错,所以我将构建目标更改为 x86。现在我收到另一个错误,该错误在访问 LocalUserAppDataPath 时发生。

    static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Console.WriteLine(System.Windows.Forms.Application.LocalUserAppDataPath);
}

有没有人知道如何解决这个问题。如果我在没有调试器的情况下运行它,它工作正常,但在 visual studio 调试器中它会给出异常。

最佳答案

使用 Reflector 跟踪整个框架:

public static string LocalUserAppDataPath
{
get
{
...
if (ApplicationDeployment.IsNetworkDeployed)

调用:

public static bool IsNetworkDeployed
{
get
{
...
ApplicationDeployment currentDeployment = CurrentDeployment;

调用:

public static ApplicationDeployment CurrentDeployment
{
...
get
{
ActivationContext activationContext = AppDomain.CurrentDomain.ActivationContext;
...
fullName = activationContext.Identity.FullName;

if (string.IsNullOrEmpty(fullName))
{
throw new InvalidDeploymentException(Resources.GetString("Ex_AppIdNotSet"));
}

因此检查 AppDomain.CurrentDomain.ActivationContext 是否已分配。

如果是,请检查 .Identity.Fullname 是否存在。

关于c# - 为什么 Application.LocalUserAppDataPath 抛出 InvalidDeploymentException "Application identity is not set.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5469589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com