【问题标题】:unable to find a version of the runtime to run this application .net 4.0 on XP Sp3无法在 XP Sp3 上找到运行此应用程序 .net 4.0 的运行时版本
【发布时间】:2011-12-15 10:23:26
【问题描述】:

我在使用 Windows XP SP3 32 位的 WPF 应用程序时遇到问题。我有一个包含可部署资源的大文件 (832mb),因此 Visual Studio 2010 无法构建它。所以我使用 MSBUILD 构建了我的文件。我之所以提到这个,是因为它可能会导致我遇到的问题,但我不确定。

我有一个在 Windows 7 64 位中使用 MSBUILD 构建的 WPF 应用程序。我在 Windows 7 中运行该程序并且该程序可以运行。当我尝试在 Windows XP 中运行它时,它无法运行。该应用程序在我使用 MSBUILD 之前运行。我安装了 .NET 2.0、3.5 和 4.0。在我放置的配置文件中:

<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

该应用程序是用 .net 4.0 编写的。我也在项目配置文件中尝试了确切的内部版本号,但这没有帮助。有些人通过安装 Direct X 并使用 admin 运行对其进行排序,但仍然无法正常工作。所有更新均已应用。我已经多次重新安装.net 4.0。客户端和扩展。

如上所述,我必须使用 MSBUILD 构建文件。我尝试在 Visual Studio 2010 中构建它,但似乎存在构建超过一定大小的单个文件的已知问题。我需要这个大小,因为拆分文件是不行的。我现在想知道 MSBUILD 是否与此有关,文件在 XP 中太大或 .net 出于某种原因没有选择此应用程序。在 Visual Studio 中构建的具有相同设置的其他文件似乎可以工作。所以也许我在 MSBUILD 中缺少一些构建选项。我正在使用的构建命令是:

msbuild "D:\Projects\MyProject\MySolution.sln" /t:Build /p:Configuration=Release

我也在命令中添加了这个:

ToolsVersion:4.0

我也从桌面运行程序。

例外是:

"MyProgram.exe - .NetException Error"
"Unable to find a version of the runtime to run this application"

另外,Windows XP 中对单个文件或进程是否有任何限制?

提前感谢您的帮助。

【问题讨论】:

  • 您在 XP 机器上遇到异常了吗?您可以查看 Windows 事件日志中程序终止的原因。
  • @SvenG - 谢谢,我会看看日志。我已将例外添加到问题中。
  • 有一个限制,在 32 位版本的 Windows 上找到一个连续的虚拟内存块以适应 EXE 会超过约 650 兆字节。在 64 位版本上几乎没有什么问题,因为可用的虚拟内存增加了一倍。我怀疑这是真正的原因。

标签: .net wpf visual-studio msbuild windows-xp


【解决方案1】:

尝试只使用它:

<supportedRuntime version="v4.0" />

【讨论】:

  • 我已经尝试过了,但无济于事。我尝试了几种不同的 XML 变体。还是谢谢。
  • 你有多少内存?多少是免费的?或许可以试试内存碎片整理工具?
猜你喜欢
  • 2010-12-13
  • 1970-01-01
  • 2012-07-14
  • 2015-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多