Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在文本框中键入时AccessViolationException_Vb.net_Visual Studio 2010_Access Violation - Fatal编程技术网

Vb.net 在文本框中键入时AccessViolationException

Vb.net 在文本框中键入时AccessViolationException,vb.net,visual-studio-2010,access-violation,Vb.net,Visual Studio 2010,Access Violation,大约一周前,每当我在某个文本框中键入内容时,我正在开发的一个程序就开始崩溃,出现AccessViolationException。我已将其简化为此测试用例,但我没有想法: Imports System.Windows.Forms Public Class Start Inherits System.Windows.Forms.Form <STAThread()> Public Shared Sub Main(args() As String)

大约一周前,每当我在某个文本框中键入内容时,我正在开发的一个程序就开始崩溃,出现AccessViolationException。我已将其简化为此测试用例,但我没有想法:

Imports System.Windows.Forms

Public Class Start
    Inherits System.Windows.Forms.Form

    <STAThread()>
    Public Shared Sub Main(args() As String)
        Application.EnableVisualStyles()
        Application.Run(New Start())
    End Sub

    Private txtNotes As System.Windows.Forms.TextBox
    Public Sub New()
        Me.txtNotes = New System.Windows.Forms.TextBox()
        Me.txtNotes.Multiline = True
        Me.Controls.Add(Me.txtNotes)
    End Sub
End Class
我已经完成了Visual Studio的修复安装,并使用sfc.exe检查损坏的系统文件。我试图寻找这个问题的现有解决方案,但没有找到任何结果。是什么导致VisualStudio生成一个损坏的可执行文件?有这样的设置吗


编辑:我现在也在运行AVG防病毒软件。我记得在这些崩溃开始时,有一个平均值更新。根据下面的注释之一,禁用AVG,然后扫描可执行文件可以防止其崩溃。这似乎表明问题出在平均值上。

我也有同样的问题。通过取消选中启用XP视觉样式解决了此问题


一些背景资料,以防对其他人有所帮助。应用程序最初是在VS2010中创建的。升级到VS2015RC。一切都很顺利。重新安装操作系统Win7后出现问题。即使是旧版本的应用程序也无法工作,尽管它在所有其他Win7台式机(包括新安装)上仍能继续工作。如果有人知道原因,那会很有趣。

我们的一些客户端在Windows 7上的安装也有同样的问题。我们的产品是带有WinFoms和.net 4.0的C。在WinForms下的多行文本框中键入会导致AccessViolationException崩溃。您可以将文本粘贴到框中,也可以将其删除,但不能键入。单行文本框可以。我们还发现,删除Application.EnableVisualStyles可以解决这个问题


另一种在不更改代码的情况下修复它的方法是右键单击程序图标并更改兼容性设置以运行适用于Windows 7的程序

我也有同样的问题,我也在运行AVG

作为AVG提供修复之前的临时解决方案,您可以将.exe文件添加到AVG的异常列表中。我可以确认这将删除Visual Studio中显示的AccessViolationException

打开平均值,转到选项 高级设置。。。 例外情况 添加异常 选择应用程序或文件 在我的例子中,选择可执行文件,我使用…/bin/Debug/myexe.exe 即使文件已更改或更新,我也会进行检查 最后,我检查了底部的三个选项:常驻屏蔽、手动和计划扫描以及身份保护
我没有像其他回答中提到的那样对视觉样式或兼容性模式进行任何更改。

此外,我们注意到所有受影响的客户端都运行AVG anti-virus。禁用AVG实时保护并对EXE执行手动病毒扫描也可以解决此错误,而不是长期解决方案。但是,我们有很多AVG客户没有这个问题。我可以确认我正在使用AVG antivirus,并且这个解决方法似乎有效。看起来我可能正在更换防病毒产品。从上一篇文章来看,AVG似乎已经发布了一个修复程序,尽管我还没有机会与我们的受影响用户确认这一点。正在MSDN上讨论这个问题:我们的案例中没有可接受的解决方法,所以我会继续探索解决方案。我已经在我的电脑上用Panda antivirus取代了AVG,我的程序不再崩溃。太好了-我已经使用AVG网站上的“提供反馈”链接让他们知道这个问题。如果/当我听到任何消息,我会报告。这是现在在AVG开发团队跟踪系统中,参考CORE-1497
Application.EnableVisualStyles()
Me.txtNotes.Multiline = True