Ответ 1
Когда вы пишете .NET-код, рекомендуется использовать функции, явно предназначенные для этой цели, вместо того, чтобы полагаться на переменные среды, такие как %appdata%
.
Вы ищете метод Environment.GetFolderPath
, который возвращает путь к специальной папке, указанной вами в Environment.SpecialFolder
перечисление.
Папка данных приложения представлена значением Environment.SpecialFolder.ApplicationData
. Это, как вы просили, папку данных перемещаемого приложения. Если вам не нужны данные, которые вы сохраняете, чтобы перемещаться по нескольким машинам и предпочли бы, чтобы он оставался локальным только для одного, вы должны использовать значение Environment.SpecialFolder.LocalApplicationData
.
Полный образец кода:
Imports System.Environment
Class Sample
Public Shared Sub Main()
' Get the path to the Application Data folder
Dim appData As String = GetFolderPath(SpecialFolder.ApplicationData)
' Display the path
Console.WriteLine("App Data Folder Path: " & appData)
End Sub
End Class
И да, это работает на С# так же, как VB.NET.