2013-04-08 6 views
5

Ho un file di risorse nella mia libreria di classi portatili che attualmente contiene circa 30 stringhe. Sono accessibili dalla mia app per Windows Phone 8 e le stringhe già presenti nel file funzionano correttamente.L'aggiunta di una risorsa stringa a .resx in PCL causa l'errore di compilazione

Tuttavia, ora quando provo ad aggiungere una nuova stringa come ho fatto prima che causi un errore di compilazione:

'System.Type' non contiene una definizione per 'Assemblea' e nessun metodo di estensione 'Assemblea 'accettando un primo argomento di tipo' System.Type 'potrebbe essere trovato (ti manca una direttiva using o un riferimento assembly?)

Guardando nel file .designer.cs è chiaro che questo è il problema. Quando si aggiunge una nuova stringa, si verificano due modifiche:

  • utilizzando System.Reflection; scompare
  • `global :: System.Resources.ResourceManager (" ViewModels.Resources.StringResources ", typeof (StringResources) .Assembly); appare al posto di:

    new global :: System.Resources.ResourceManager ("ViewModels.Resources.StringResources", typeof (StringResources) .GetTypeInfo(). Assembly);

Il .GetTypeInfo() e scomparendo istruzione using sono il problema ma non riesco a metterli di nuovo perché il file è generato da Visual Studio e cambia di nuovo. Qualche idea?

L'unico cambiamento significativo che posso pensare è il nuovo aggiornamento 2 di Visual Studio 2012?

vale la pena anche notare: Se posso aggiungere un altro resx in qualsiasi altra parte del progetto (l'applicazione WP8 o in un altro PCL) allora questo presenta lo stesso comportamento esatto in cui l'aggiunta di una stringa.

+0

ho Repro su Update 2, non è vicino a un aggiornamento 1 macchina proprio adesso. Questo potrebbe essere molto doloroso. Pubblicalo su connect.microsoft.com. La soluzione scadente fino a quando non si sente tornare è di modificare il file .cs a mano ed evitare il designer. –

+0

Giusto, fatto https://connect.microsoft.com/VisualStudio/feedback/details/783211/resx-file-unable-to-be-edited-correctly-causes-compilation-error-in-generated-file#details –

+0

@HansPassant come menziona alla fine del post di connessione: ho ottenuto la compilazione ora eliminando e leggendo il file resx e di progettazione. Ma per qualche ragione in solution explorer il file del designer non è più annidato. Il resx può essere aggiornato con nuove stringhe, ma il file di progettazione non riflette queste modifiche, quindi non è l'ideale. Inoltre non riesco a capire come ricollegarli. Qualche idea? –

risposta

Problemi correlati