Непонятная проблема с общей переменной в VB.net - PullRequest
1 голос
/ 31 марта 2011

Когда я использовал 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

Iпросто определите общую переменную.Я ожидаю, что при запуске приложения будет инициирована переменная и будет создан файл «test.txt».

Если Конфигурация "Отладка", все в порядке.Если Конфигурация "релиз", Когда я начинаю нажимать F5 в Visual Studio 2010, все также хорошо, все работает как ожидалось, файл был создан

Но Когда я запускаю его без отладки, нажмите (Ctrl+ F5), переменная не была инициирована, файл не был создан, как я ожидал.

Я не до конца понимаю, почему это происходит, может кто-нибудь мне помочь?

Спасибо и всего наилучшего

1 Ответ

2 голосов
/ 31 марта 2011

Есть ли доступ к этой общей переменной? Это может быть удалено из-за оптимизации компилятора. Попробуйте добавить код, который использует переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...