【问题标题】:Unable to Install published .NET C# program无法安装已发布的 .NET C# 程序
【发布时间】:2012-04-20 12:34:52
【问题描述】:

我目前正在努力解决在 Visual Studio 2010 中发布使用 C# 编写的应用程序后遇到的问题。该应用程序在调试模式下运行时没有错误或警告。在我的应用程序中,我使用了 6 个不同的 3rd 方 .DLL:s、http://pcapdotnet.codeplex.com/ 和 vcinet2.dll。

该应用程序可以安装在我自己的计算机上,并且可以在此处正常运行,但是当我尝试将其安装在另一台计算机上时,它就无法正常工作。这就是发生的事情: 该应用程序(通过发布工具 I VS 2010 发布后)可在指定文件夹中访问。我运行 setup.exe 文件并开始安装。它完成安装,但在此之后(在桌面上创建快捷方式并且应用程序开始加载之后)应用程序崩溃。它说“MyProgram 已停止工作,请在线查看?关闭程序?调试程序?”当我单击更多详细信息时,会显示:

“Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: MyProgram.exe
  Application Version:  1.0.0.0
  Application Timestamp:    4f9150a6
  Fault Module Name:    KERNELBASE.dll
  Fault Module Version: 6.1.7601.17651
  Fault Module Timestamp:   4e2111c0
  Exception Code:   e0434352
  Exception Offset: 0000d36f
  OS Version:   6.1.7601.2.1.0.256.4
  Locale ID:    1053
  Additional Information 1: 0a9e
  Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
  Additional Information 3: 0a9e
  Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt “

我在浏览 Internet 后发现,人们在使用远程服务器进行发布或从网页更新时会遇到此问题。但我没有,我只是在 VS 2010 的“用户将如何安装应用程序”窗口中使用“从 CD-ROM 或 DVD-ROM”。

这几天我一直在处理这个问题,主要是检查与 .DLL:s 等的兼容性。但我还没有找到解决方案。

两台计算机都使用 x86 平台,而我在 VS2010 中的“平台目标”是“x86”。

当我仔细查看“e0434352”(错误代码)时,我发现这是 VS2010 的每个异常的某种错误,这是正确的还是我误解了?

非常感谢我能得到的任何帮助,我觉得这是一个简单的解决方案,在 VS2010 中的某些设置是错误的,但我无法弄清楚!

程序一开始我没有得到任何异常,这导致我认为这是一个错误的设置?

最好的问候 埃里克

【问题讨论】:

  • 您有 VMware Workstation 吗?因为这样你就可以在发生错误的干净系统的 VM 中使用本地 Visual Studio 进行调试......
  • accfews:您是指安全性下的选项“这是一个完全信任的应用程序”吗?在这种情况下,这已经设置好了。 chrfin:不,下载(获取)这个是个好主意吗?你知道有什么好的教程或类似的吗?
  • 您没有为 AppDomain.CurrentDomain.UnhandledException 实现事件处理程序。因此,您无法得到任何帮助来诊断导致程序崩溃的未处理异常,这超出了 Windows 对失败托管代码的了解。在此类事件处理程序中使用 e.UnhandledException.ToString() 并记录或显示该值。在 95% 的病例中足以诊断出爆炸的原因。
  • 我应该把处理程序放在哪里?

标签: c# .net visual-studio publish


【解决方案1】:

您是否检查了项目中的应用程序文件 -> 发布属性?我已经看到 VS 没有在应用程序文件中自动添加我想要的库。这应该确保它们被安装。

【讨论】:

  • 我的应用程序文件如下:Pcap 中的 5 个 .DLL:s(包括(自动))和 vcinet2.dll(包括)(这是以前的(先决条件(自动)),但我改变了它包含虽然它说它在另一台计算机上错过了这个。连同这些文件是我的:MyProgram.exe、MyProgram.exe.config、MyProgram.exe.manifest。也在我发布后的“发布”中的应用程序文件夹中有不同的.deploy,但是.manifest不是.deploy?应该是这样的吗?
【解决方案2】:

在我的情况下,当我使用的框架库少于我用于编译项目的框架时,就会发生此错误。

您在窗口窗体中使用的一些对象来自网络框架 2 的库,例如 Microsoft.VisualBasics.PowerPacks.Vs,在框架 4 中没有类似的对象。

如何解决问题?

进入项目 展开参考 检查框架的属性,通常列表的倒数第二个是这个版本小于框架用于编译相同属性列表中的更改“本地副本”为 true 重新编译,应用程序工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    相关资源
    最近更新 更多