如何解决.NET 4.0应用程序在没有Visual Studio的计算机上引发异常
| 我的应用程序在这里安装了Visual Studio的所有计算机上都可以正常运行,但是在没有Visual Studio的计算机上却不能运行。 该应用程序仅在启动时在事件查看器中崩溃,并显示以下消息:Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TypeInitializationException
Stack:
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String[])
at IssueTrackingSystem.My.MyApplication.Main(System.String[])
我只用一个按钮测试了一个简单的应用程序,结果相同。
更新:
解决方法
您需要获取异常的InnerException才能真正知道出了什么问题。在“项目+属性”的“应用程序”选项卡上,单击“查看应用程序事件”按钮。在编辑器窗口上方的左上方组合框中,选择\“(MyApplication Events)\”,在右侧组合框中,选择\“启动\”。
这将添加启动事件处理程序。使它看起来与此类似:
Private Sub MyApplication_Startup(sender As Object,e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
AddHandler AppDomain.CurrentDomain.UnhandledException,AddressOf KaboomHandler
End Sub
Private Sub KaboomHandler(sender As Object,e As UnhandledExceptionEventArgs)
MsgBox(e.ExceptionObject.ToString())
Environment.Exit(1)
End Sub
现在,您将获得一个包含内部异常的堆栈跟踪。那应该足以找到炸弹的静态构造函数。发布您在问题中看到的堆栈跟踪信息,如果这样做没有帮助。
, 当任何类型的构造函数引发未正确捕获和处理的异常时,将抛出“ 2”。字段的静态初始化也会引发此异常。您将需要确定它是哪种类型并进行相应的调试。正如其他发布者所说,很可能您没有在目标计算机上配置/部署任何东西。
在尝试访问不存在的配置文件条目时,库不存在时等,我已经看到了这种情况。直到获得详细的异常(应该能够检查内部异常),它才会缩小范围将更加困难。
更新:
如错误消息中的文章所示,请在app.config中尝试此操作:
<configuration>
<runtime>
<NetFx40_LegacySecurityPolicy enabled=\"true\"/>
</runtime>
</configuration>
, 您应该检查客户端计算机上安装的.NET版本。
还要检查所有引用的程序集,如果有异常,请将它们添加到“ 4”文件夹中
, 您应确保正确部署了DevXpress程序集。
另外,错误消息还会指示您检查http://msdn.microsoft.com/zh-cn/library/ee191568(VS.100).aspx。你做了这个了吗?
, 我之前曾在此SO问题中发布了此问题,由于它已显示在我的Google搜索结果中,因此我将在此处进行链接。
摘要:
事实证明,对于目标框架为.NET 4.0或.NET 4.0 CP的项目,在我的项目为Visual Basic DLL的情况下,.NET 4.5中不存在某些DLL。
我的项目是一个升级到Visual Basic .NET(VB.net)的Visual Basic(VB6)项目,它某种程度上需要位于其中的名为called5 called的DLL。
C:\\Program Files\\Reference Assemblies\\Microsoft\\VBPowerPacks\\v10.0
将文件打包到安装程序中的InstallShield项目也无法检测到此依赖性。
我只有在意识到该项目在安装了Visual Studio的情况下运行良好后,才发现此问题,但是它崩溃了,除了崩溃日志中的\'System.IOException.FileNotFound \'之外,没有任何其他警告。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。