Il tipo o il nome dello spazio dei nomi ‘Proprietà’ non esiste

Sto cercando di utilizzare le impostazioni dell’applicazione nel mio progetto.

Quando provo la seguente riga di codice nel progetto, ottengo un errore.

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

L’errore risultante è:

Il nome del tipo o spazio dei nomi ‘Proprietà’ non esiste nello spazio dei nomi ‘Williams.TransferLogs’ (ti manca un riferimento all’assembly?)

Ho l’impostazione “ValleyLastRun” definita come DateTime nella mia pagina Progetto-> Proprietà-> Impostazioni. Non so perché non posso fare riferimento all’impostazione nel mio progetto.

Ecco la finestra della soluzione:

inserisci la descrizione dell'immagine qui

Il problema è correlato al tuo file di risorse. Per impostazione predefinita, le impostazioni sono generate come interne. Puoi cambiarlo nella casella a cascata sopra le impostazioni.

A volte c’è un problema con il costruttore di questa class perché rimane interno. Puoi cambiarlo manualmente ma dopo ogni modifica delle Impostazioni verrà reimpostato su interno.

Questo problema può anche verificarsi se hai cambiato lo spazio dei nomi.

Come utente 1959018, ho anche affrontato questo messaggio di errore anche se per motivi diversi dall’OP, e posterò quello che finalmente ho trovato il mio problema e la soluzione per essere nel caso in cui aiuti gli altri.

Nella cartella Proprietà del progetto dovrebbero esserci (almeno) due file, Resources.resx e Resources.Designer.cs. Nel mio caso il file Resources.Designer.cs non era più incluso nel progetto. Questo problema può essere risolto modificando (o ripristinando una vecchia copia di) il file .csproj, o utilizzando Esplora soluzioni di Visual Studio per “mostrare tutti i file”, quindi fare clic con il tasto destro del mouse su Resources.Designer.cs e selezionare “Include in project” .

E a credito dove è dovuto il credito, ho trovato questa soluzione qui: http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/ebeca7a8-c7a3-4cb6-a40e-89c5fdb70c82 nella risposta di NJLASSI.

MODIFICARE:

Ri-includere solo il file Resources.Designer.cs nel progetto non è una buona soluzione. Vedi qui per maggiori dettagli.

Ho affrontato questo errore perché il mio file Settings.settings è svanito dopo un aggiornamento di svn (non è la soluzione a questo caso, ma può aiutare gli altri).

Per risolvere vai alle proprietà del progetto, alle impostazioni e fai clic sul link per creare un file di impostazioni. Dopodiché genera magicamente le proprietà utilizzate nel progetto.

Ho avuto il problema che le proprietà del mio progetto non contenevano lo spazio dei nomi corretto (-> Applicazione) che ho usato in tutta l’applicazione. La modifica dello spazio dei nomi predefinito mi ha permesso di accedere a risorse e impostazioni all’interno delle classi.

Ho avuto un errore leggermente diverso (ma simile). Quando ho controllato Resources.esigner.cs non c’era. (Stavo passando ad una soluzione VS2013 e mi sono trasferito a Team Foundation VC)

Fare clic con il tasto destro su Resources.resx e utilizzare “Esegui strumento personalizzato” ha costruito correttamente Resources.Designer.cs.

Si sta verificando questo errore perché non si dispone di una sezione Proprietà dell’applicazione. Se fai clic con il tasto destro del mouse sul progetto in solution explorer e scegli di creare un nuovo file di impostazioni, puoi accedervi tramite Impostazioni1. “Tuoinfo”. Settings1 e yourinfo cambiano a seconda di cosa hai chiamato il tuo file di impostazioni.

Ho risolto questo problema rimuovendo “interno” nella definizione della mia class di risorse. Tuttavia, come ha detto slfan , torna ad essere “interno” dopo ogni modifica effettuata. Quindi assicurati di verificarlo prima.

Ho avuto questo problema quando ho cambiato lo spazio dei nomi di una libreria di classi. Quando aggiungi un file di impostazioni, crea una class che utilizza lo spazio dei nomi (in Settings.cs – “namespace YourNameSpace.Properties {….”. Quando ho rinominato il mio spazio dei nomi, non è stato ansible trovare lo spazio dei nomi .Properties perché ho scritto Nuovo spazio dei nomi “namespace YourRenamedNameSpace” quindi non c’era “YourRenamedNameSpace.Properties” In Setting.cs, ho corretto lo spazio dei nomi in “namespace YourRenamedNameSpace.Properties {….” e Properties.Settings era nuovamente disponibile all’interno dello spazio dei nomi .

Per qualche ragione ogni volta che modifico settings.settings, cambia lo spazio dei nomi nei file delle impostazioni. Quindi per risolvere questo ho dovuto fare le seguenti due cose. Fare clic con il pulsante destro del mouse su settings.cs, visualizzare il codice e aggiornare lo spazio dei nomi nella parte superiore del documento per farlo corrispondere nel progetto> proprietà> applicazione. In secondo luogo ho quindi dovuto fare clic sulla piccola freccia accanto a settings.settings nella soluzione Explorer per espanderla, quindi fare clic con il pulsante destro del mouse su settings.designer.CS. All’interno di questo file devo aggiornare anche lo spazio dei nomi. Penso che poiché questa soluzione è stata originariamente convertita da Visual Basic in c #, in qualche modo ha archiviato il vecchio spazio dei nomi e mantiene di nuovo l’impostazione predefinita.