型または名前空間の名前 'Properties'が存在しません

私は自分のプロジェクトでアプリケーション設定を使用しようとしています。

プロジェクトで次のコード行を試すと、エラーが発生します。

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

結果のエラーは次のとおりです。

型または名前空間の名前 'Properties'が名前空間 'Williams.TransferLogs'に存在しません(アセンブリ参照がありませんか?)

I have the setting "ValleyLastRun" defined as a DateTime on my Project->Properties->Settings page. I don't know why I can't reference the setting in my project.

ソリューションウィンドウは次のとおりです。

enter image description here

5
クリーンなビルドを試みましたか?
追加された 著者 Daniel A. White,
プロジェクトソリューションエクスプローラウィンドウのスクリーンショットを投稿して表示し、 ValleyLastRun とそれを使用するコードを格納する親コードを両方とも投稿してください。私たちが探しているのは、プロジェクトが実際にプロジェクトへの参照を保持している場合、名前空間が正しいかどうか、どのタイプの参照(GACまたはプロジェクト参照)が正しく設定されているかです。また、きれいにして再構築し、問題が解決するかどうかを確認することもできます。また、どんなタイプのプロジェクトですか?
追加された 著者 George Stocker,
「ウィリアムズ」はどこから来たのですか?あなたはTransferLogsという名前のクラスを持っていますか?したがって、プロジェクトのデフォルト名前空間であるTransferLogsと衝突しますか?グローバル:: TransferLogs.Propertiesを試してください
追加された 著者 Hans Passant,
おそらくアクセシビリティ上の問題です。 Properties は内部クラスなので、クラスはそれを「見る」ことができません。
追加された 著者 Yuck,
@GavinCoates Properties は、 Settings.settings ファイルを追加すると自動的に生成されます。
追加された 著者 Yuck,
プロパティがクラスの場合、publicに設定されていますか?
追加された 著者 Gavin Coates,
きれいなビルドを試みましたが、行っていません。これはWinFormsプロジェクトです。
追加された 著者 John,
ウィリアムズは私の会社のために開発したアプリケーションに使用する一般的な名前空間です。 "frmTransferLogs"の名前空間はWilliams.TransferLogsです。私は "global ::"を追加しようとしました。それだけで私はそれが読んでいることについてのエラーを与える。
追加された 著者 John,

10 答え

名前空間を変更した場合は、この問題も解決できます。

13
追加された
これは私の問題でした。プロジェクトプロパティでProgram.cs名前空間を変更せずに、FooからBar.Fooに変更しました。もちろん、Settings.Designer.csクラスは名前空間Fooに生成されていましたが、私はProgram.csからそれを参照することを驚くほど妨げました。
追加された 著者 Godsmith,
また、名前空間を変更すると、名前空間の大文字と小文字を変更するだけで済むことにも注意してください。だから、プロジェクト設定の名前空間の大文字と小文字を変更し、次にプロパティのようなプロジェクトファイルのアクセス修飾子を変更すると、新しく "ケースのある"名前空間が選択されます...しかし、すべてのフォームが以前の大文字プロジェクト名前空間をProperCaseに変更した場合、ProperCaseで自動生成されるため、すべて「新規」プロジェクトプロパティまたはリソースファイルを見つけることができません。
追加された 著者 rism,

この問題は、リソースファイルに関連しています。デフォルトでは、設定は内部として生成されます。設定の上のドロップダウンボックスでこれを変更することができます。

このクラスのコンストラクタには内部的な問題があるため、時には問題があります。手動で変更することはできますが、設定を編集するたびに内部にリセットされます。

7
追加された

user1959018と同様に、OP以外の理由でもこのエラーメッセージに直面しましたが、私が最終的に私の問題と解決策を見つけたことを投稿して、他の人に役立つかどうかを判断します。

プロジェクトのPropertiesフォルダには、少なくとも2つの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ファイルをプロジェクトに再追加するだけでは良い解決策ではありません。詳細については、こちらを参照してください。

7
追加された

私のSettings.settingsファイルはsvnの更新後に消えたのでこのエラーに直面した(この場合の解決策ではなく、他の人に役立つ可能性がある)。

修正するには、プロジェクトのプロパティ、設定に行き、リンクをクリックして設定ファイルを作成します。その後、プロジェクトで使用されるプロパティが魔法のように生成されます。

4
追加された

I had the problem that my project properties did not contain the correct namespace (-> Application) which I used all over the application. Changing the default namespace helped to let me access resources and settings inside classes.

3
追加された

私は少し違うエラー(しかし同様)を持っていました。 Resources.Designer.csを確認したところ、そこには存在しませんでした。 (私はVS2013ソリューションにアップグレードし、Team Foundation VCに移行していました)

Resources.resxを右クリックし、 "Run custom tool"を使用してResources.Designer.csを正しく構築しました。

1
追加された

アプリケーションの[プロパティ]セクションがないため、このエラーが発生しています。ソリューションエクスプローラでプロジェクトを右クリックし、新しい設定ファイルを作成することを選択した場合は、Settings1。 "yourinfo"からアクセスできます。 Settings1とyourinfoは、設定ファイルの名前に応じて変わります。

0
追加された

私はこの問題を、私のResourcesクラス定義の "internal"を削除することで解決しました。しかし、 slfan のように、編集するたびに「内部」に戻ります。だから最初に確認してください。

0
追加された

クラスライブラリの名前空間を変更したときにこの問題が発生しました。設定ファイルを追加すると、名前空間を使用するクラスが作成されます(Settings.cs - "名前空間YourNameSpace.Properties {...."私が名前空間の名前を変更したとき、私は別の名前をつけたので、.Properties名前空間を見つけることができませんでした。 新しい名前空間「名前空間YourRenamedNameSpace」には「YourRenamedNameSpace.Properties」がありませんでしたSetting.csには、名前空間を「名前空間YourRenamedNameSpace.Properties {....」に修正し、Properties.Settingsを再度名前空間内で使用できました。

0
追加された

For some reason whenever I edit settings.settings, it changes the namespace in the settings files. So to fix this I had to do the following two things. Right click settings.cs , view code and update the namespace at the top of the document to match that in the project >properties >application. Secondly I then had to click the little arrow next to settings.settings in the solution Explorer to expand it, and then right click settings.designer.CS. Within this file I have to also update the namespace. I think because this solution was originally converted from Visual Basic to c#, it somehow has stored the old namespace, and keeps defaulting back to it.

0
追加された