一个奇怪的行为在VB.net中共享变量问题

时间:2011-03-30 23:08:36

标签: vb.net visual-studio-2010

当我使用VB.net时,我遇到了一个非常奇怪的行为,我创建了一个简单的测试WPF项目来重现它。这是细节。我有一个非常简单的类,在创建实例时,该类将创建一个test.txt文件

Public Class Test
    Public Sub New()
        Using writer As New System.IO.StreamWriter("test.txt")
            writer.Write("test")
        End Using
    End Sub
End Class

然后在Application.xaml.vb

Class Application

    ' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
    ' can be handled in this file.
    Shared tt As New Test()
End Class

我只是定义一个共享变量。我的期望是,当我启动应用程序时,将启动变量,并将创建一个“test.txt”文件。

如果配置是“调试”,一切都很好。 如果配置是“发布”,当我开始在Visual Studio 2010中按F5时,一切都很好,它按预期工作,文件已创建

但是当我在没有调试的情况下启动它时,按(Ctrl + F5),该变量尚未启动,文件未按我的预期创建。

我不完全明白为什么会发生这种情况,任何人都可以帮助我吗?

谢谢和问候

1 个答案:

答案 0 :(得分:2)

这个共享变量是否被访问过?由于编译器优化,它可能已被删除。尝试添加一些使用变量的代码。