2013-01-18 16 views
13

Ho un dizionario risorse unito nell'assembly principale App.xaml, che combina vari dizionari di risorse da assembly separati: Common e PresentationLayer.Si è verificato un errore durante la ricerca del dizionario risorse

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="/Common;component/Themes/Button.xaml"/> 
      <ResourceDictionary Source="/PresentationLayer;component/DataTemplates/AppointmentsDataTemplates.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

In fase di esecuzione, gli stili nei dizionari delle risorse vengono applicati correttamente ai controlli. Tuttavia, in fase di progettazione gli stili non vengono applicati e Visual Studio 2012 continua a dare il seguente errore:

An error occurred while finding the resource dictionary "/Common;component/Themes/Button.xaml". 

e Warning:

The resource "BannerButton" could not be resolved. 

mi sono imbattuto this post ma il problema persiste nonostante Corporatura Azione impostata su Risorsa. Inoltre, non ho riscontrato questo problema durante l'esecuzione in Visual Studio 2010 o Expression Blend 4. L'assembly Main contiene sicuramente un riferimento all'assembly Common e non ho modificato gli URI del pacchetto.

+0

hai provato a utilizzare il percorso relativo normale? –

+0

@DJ Il percorso relativo normale (dove il dizionario delle risorse è nell'assembly principale) funziona correttamente. –

+0

@DJ In realtà, Visual Studio non si lamenta più degli errori, ma il progettista non applica ancora gli stili. –

risposta

6

Questo era un problema noto con Visual Studio 2012. Vedere this link in Microsoft Connect. Dopo aver installato VS2012 Update 1 questo problema è stato risolto per me. Se pensi di avere la versione più aggiornata di VS2012 e stai ancora riscontrando questo problema, assicurati che l'aggiornamento sia stato applicato. Pensavo di aver aggiornato usando Windows Update, ma poi ho scoperto che dovevo dire a VS2012 di applicare l'aggiornamento. Dopo che VS2012 ha fatto le sue cose, tutto andava bene.

+2

Non ho eguagliato la versione di .NET tra l'assembly e il progetto (profilo client .NET 4 e .NET non client). Una volta inseriti entrambi nella stessa versione, il problema è scomparso, come descritto nel collegamento fornito da Andagavar come "Soluzione alternativa". – MDaldoss

0

provare lo stesso a Window.Resources, assicuratevi aggiunto spazio dei nomi quando si utilizza app.xaml e non dimenticare di modificare l'opzione accumulo alla pagina in cui è necessario utilizzare tale App.xaml.

0

Se si utilizza Visual Studio 2017, provare a riavviare il computer. Il problema può essere risolto.

Problemi correlati