2013-11-20 2 views
0

У меня есть код, чтобы сохранить файл в папку в директорииОШИБКА: System.Environment.SpecialFolder»не содержит определения для„CommonApplicationData“

string timestamp = DateTime.Now.ToString("MM-dd-yyyy.HH-mm-ss"); 
       var file = File.Create("Owe-Data.txt" + timestamp); 

       var com = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase + timestamp + @"\Data" + file; 

       MessageBox.Show(com); 
       if (!Directory.Exists(com)) 
       { 
        Directory.CreateDirectory(com); 
       } 
       using (var sw = new StreamWriter(com)) 
       { 

        sw.WriteLine(InputData); 

       } 

      } 

я Отображаемые COM дает путь Б.Т. я не могу видеть папке данных или файла Owe-Data по этому пути. . Кто-нибудь может понять, почему это происходит, или я должен сохранить папку «Данные» в текущем каталоге, где работает эта программа? bt i dnt знает, как достичь этого пути. Любые решения? Работа на Windows Phone 5, Visual Studio 2008 .NET framwork 2,0

+0

Какая платформа? Версия .Net и т. Д. –

+0

с использованием visual studio 2008 –

+0

Могу ли я узнать версию Windows, которую вы используете? – Sandy

ответ

1

В соответствии с Исключения секции documentation, указанное исключение, когда

ArgumentException ------- folder is not a member of System.Environment.SpecialFolder.

Это означает OS, где вы работаете в этом команда не имеет Environment.SpecialFolder.CommonApplicationData как одну из специальных папок.

Для знания,
Environment.SpecialFolder.ApplicationData является наиболее распространенным. В этой папке хранятся данные для отдельных пользователей, не относящиеся к конкретным приложениям, за исключением пользовательских документов. Общим примером может служить файл настроек или конфигурации.

Environment.SpecialFolder.CommonApplicationData похоже, но поделился с пользователями. Вы можете использовать это, например, для хранения шаблонов документов.

Environment.SpecialFolder.LocalApplicationData является альтернативой без роуминга для ApplicationData. Таким образом, вы никогда не храните важные данные там. Однако, поскольку это не роуминг, это хорошее место для временных файлов, кешей и т. Д. Обычно это на локальном диске.

Я думаю, что проблема может быть, чтоEnvironment.SpecialFolder.CommonApplicationData является общей и разделяемой между различными пользователями и user, с которым вы вошли в систему, не имеющий rights to access the folder или Visual Studio не была запущена в режиме Admin.

РЕДАКТИРОВАНИЕ Посмотрите на link и попытаться добавить вручную реестра Common AppData, определенный в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\

+0

вы даете v наилучшим образом решение plz tel me 1 вещь могу ли я вручную создать commonApplicationData членом Environment.SpecialFolder –

+0

вы пробовали режим администратора или логин как другой пользователь ..... – dbw

+0

Насколько мне известно, невозможно вручную создайте commonApplicationData членом среды.SpecialFolder – dbw

0

Учитывая вы спрашиваете о приложении .NET Windows Phone как в тегах

Я думаю, что ваш проблема в том, что приложение .NET Windows Phone не имеет прямого доступа к файловой системе; он может получить доступ только к IsolatedStorage, это по дизайну.

Я бы назвал источник Microsoft для этого, но я не могу найти его!

EDIT См this article из MSDN

Смежные вопросы