Тип или имя пространства имен «Свойства» не существует - PullRequest
5 голосов
/ 06 февраля 2012

Я пытаюсь использовать настройки приложения в моем проекте.

Когда я пытаюсь выполнить следующую строку кода в проекте, я получаю сообщение об ошибке.

TransferLogs.Properties.Settings.Default.ValleyLastRun = timeNow;

В результате получается ошибка:

Тип или имя пространства имен «Свойства» не существует в пространстве имен «Williams.TransferLogs» (вам не хватает ссылки на сборку?)

У меня есть параметр «ValleyLastRun», определенный как DateTimeна моей странице Проект-> Свойства-> Настройки.Я не знаю, почему я не могу сослаться на настройки в моем проекте.

Вот окно решения:

enter image description here

Ответы [ 10 ]

13 голосов
/ 08 октября 2012

Эта проблема также может возникать, если вы изменили пространство имен.

8 голосов
/ 06 февраля 2012

Проблема связана с вашим файлом ресурсов.По умолчанию настройки генерируются как внутренние.Вы можете изменить это в раскрывающемся списке над настройками.

Иногда возникает проблема с конструктором этого класса, поскольку он остается внутренним.Вы можете изменить это вручную, но после каждого редактирования настроек оно будет сброшено до внутреннего.

7 голосов
/ 29 апреля 2013

Как и пользователь 1959018, я также сталкивался с этим сообщением об ошибке, хотя и по другим причинам, нежели ОП, и я опубликую то, что я наконец нашел в своей проблеме и решении на случай, если это поможет другим.

В проектеВ папке свойств должно быть (как минимум) два файла: Resources.resx и Resources.Designer.cs.В моем случае файл Resources.Designer.cs как-то больше не был включен в проект.Это можно исправить, отредактировав (или восстановив старую копию) файл .csproj, или используя обозреватель решений Visual Studio, чтобы «показать все файлы», а затем щелкните правой кнопкой мыши файл Resources.Designer.cs и выберите «Включить в проект»..

И кредит, где кредит должен, я нашел это решение здесь: http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/ebeca7a8-c7a3-4cb6-a40e-89c5fdb70c82 в ответе NJLASSI.

РЕДАКТИРОВАТЬ:

Просто повторное включениефайл Resources.Designer.cs в проекте не является хорошим решением.См. здесь для получения более подробной информации.

4 голосов
/ 04 апреля 2013

Я столкнулся с этой ошибкой, потому что мой файл Settings.settings исчез после обновления svn (не решение в этом случае, но может помочь другим).

Чтобы исправить, перейдите в свойства проекта, настройки и нажмите на ссылку, чтобы создать файл настроек.После этого он волшебным образом генерирует свойства, используемые в проекте.

3 голосов
/ 28 сентября 2015

У меня была проблема с тем, что в свойствах моего проекта не было правильного пространства имен (-> Приложение), которое я использовал во всем приложении. Изменение пространства имен по умолчанию позволило мне получить доступ к ресурсам и настройкам внутри классов.

1 голос
/ 15 января 2015

У меня была немного другая ошибка (но похожая).Когда я проверил наличие ресурсов. Designer.cs его там не было.(Я переходил на решение VS2013 и перешел на Team Foundation VC)

Щелкните правой кнопкой мыши на Resources.resx и с помощью «Запустите настраиваемый инструмент» правильно создали файл Resources.Designer.cs.

0 голосов
/ 17 июля 2018

Почему-то, когда я редактирую settings.settings, он изменяет пространство имен в файлах настроек. Поэтому, чтобы исправить это, мне пришлось сделать следующие две вещи. Щелкните правой кнопкой мыши settings.cs, просмотрите код и обновите пространство имен в верхней части документа, чтобы оно соответствовало этому в проекте> свойства> приложение. Во-вторых, мне пришлось нажать маленькую стрелку рядом с settings.settings в обозревателе решений, чтобы развернуть ее, а затем щелкнуть правой кнопкой мыши settings.designer.CS. В этом файле я также должен обновить пространство имен. Я думаю, что поскольку это решение изначально было преобразовано из Visual Basic в c #, оно каким-то образом сохранило старое пространство имен и продолжает возвращаться к нему по умолчанию.

0 голосов
/ 11 октября 2016

У меня возникла эта проблема, когда я изменил пространство имен библиотеки классов. Когда вы добавляете файл настроек, он создает класс, который использует пространство имен (в Settings.cs - msgstr "namespace YourNameSpace.Properties {....". Когда я переименовал мое пространство имен, он не смог найти пространство имен .Properties, потому что я записал его по-другому. Новое пространство имен «пространство имен YourRenamedNameSpace», поэтому в файле Setting.cs я не исправил «YourRenamedNameSpace.Properties». Я просто исправил пространство имен в «пространство имен YourRenamedNameSpace.Properties {....», и Properties.Settings снова стал доступен в пространстве имен.

0 голосов
/ 15 мая 2015

Я решил эту проблему, удалив «internal» в своем определении класса Resources. Однако, как сказал slfan , он возвращается к «внутреннему» после каждого внесенного вами изменения. Поэтому не забудьте проверить это в первую очередь.

0 голосов
/ 02 апреля 2015

Вы получаете эту ошибку, потому что у вас нет раздела Свойства вашего приложения.Если вы щелкнете правой кнопкой мыши по проекту в обозревателе решений и решите создать новый файл настроек, вы можете получить к нему доступ через «Настройки1». «Ваша информация».Настройки1 и ваша информация изменяются в зависимости от того, как вы назвали свой файл настроек.

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