【问题标题】:App built on .Net Framework 4.0 and run from Program Files (X86) will only run as admin基于 .Net Framework 4.0 并从 Program Files (X86) 运行的应用程序只能以管理员身份运行
【发布时间】:2015-11-01 01:53:12
【问题描述】:

我正在将 X86 应用程序从 .Net Framework 2.0 迁移到 4.0。只要我不将其移至 Program Files (X86),它就可以正常构建并且运行良好。如果我在那里运行它,它会在启动时挂起(在它到达我的任何代码之前)。如果我以管理员身份运行它,它工作正常。我阅读了 4.0 中的安全更改,但并不真正了解我需要做些什么来完成这项工作。

任何帮助将不胜感激。

【问题讨论】:

  • 使用调试器找出它在做什么。

标签: .net vb.net


【解决方案1】:

您需要为此指定构建配置。

当您发布构建版本时。如果是 32 位版本,请确保它是 x86 版本。

我不会详细介绍如何导入您的解决方案,以及不该做什么的规则。

但是根据你的情况。您不能使用"Any CPU" 设置。 所以右键单击您的应用程序的名称。不是解决方案。 然后选择Properties 然后转到Build 将32位版本检查为Prefer Target 然后选择x86。

然后构建并运行。

这应该让您了解有关 64 位和 32 位版本的问题。 因此,迁移 .NetFramework 并不完全是问题,因为它只是导入了一些库。但是解决方案构建版本。祝你好运。

【讨论】:

  • 我确实构建为 X86。两个奇怪的事情是,如果我以管理员身份运行它,并且如果我将它放在另一个文件夹中(甚至是 Program Files (X86) 下的另一个文件夹),它就可以工作。所以现在我在想这个特定文件夹的安全性有些奇怪。但我没有看到任何有效权限。我实际上是克隆了源代码,然后把除了表单本身之外的所有东西都拿出来了,我仍然遇到同样的问题。
猜你喜欢
  • 2010-12-19
  • 1970-01-01
  • 2014-03-18
  • 2013-05-31
  • 2011-12-29
  • 2011-09-24
  • 1970-01-01
相关资源
最近更新 更多