我用 Visual Studio 2010 制作了一个程序。它需要 .NET Framework 4.0 才能运行,而运行它的机器没有连接到互联网,所以我在自己的机器上找到了在线可再发行组件并将其复制了过去。
我在机器上安装了该软件(这是一个非常简单的程序,我只是编写了一个安装程序来执行 .NET 安装,并将我的程序的 .exe 文件放入 Program Files 中)但每次我尝试运行它时,我都会收到一条 Windows 错误报告消息,提示程序运行失败。
关于我应该在哪里寻找该问题的原因,有什么建议吗?
(如果有关系的话,我尝试运行它的机器运行的是 Windows XP,而我运行的是 Windows 7。但我不认为这是一个兼容性问题......)
我的另一个想法是......我如何检查我正在为 64 位还是 32 位 Windows 进行编译?
答案1
您可以检查 Windows 事件日志,它可能会为您提供有关该错误的更多具体信息,如果幸运的话,您会看到堆栈跟踪(取决于它是否使用调试符号进行编译)。这可能会给您一些线索;但如果没有更多细节,我认为我们无法提供帮助。
关于您关于 64 位与 32 位的问题:默认情况下,.net 应用程序与 CPU 架构无关。由于应用程序在运行之前(在安装它的机器上)被 JIT 为本机机器代码,因此该 JIT 编译器负责此功能。但是,在 Visual Studio 中,您可以根据需要覆盖该行为。
答案2
.NET Framework 4.0 与 Windows XP Service Pack 2 不兼容。.Net Framework 3.5可能对于你的程序来说就足够了。