Error encontrando diccionario de recursos combinados en otra asamblea

Realmente me estoy golpeando la cabeza contra la pared aquí. Primero, algunos antecedentes. La aplicación es una aplicación PRISM 4 / MVVM que utiliza WPF y mi solución está estructurada de la siguiente manera:

MyCompany.MyProduct (MyCompany.MyProduct.exe)
+-- Shell.xaml
       Shell.xaml.cs
    app.config
    (etc)
MyCompany.MyProduct.Infrastructure (MyCompany.MyProduct.Infrastructure.dll)
+-- Resources
|   +-- MyApplicationStyles.xaml
|       SuperCoolImage.png
|       (etc)
+-- BaseClasses
    +-- ViewModelBase.cs
        (etc)
MyCompany.MyProduct.Modules.ModuleA (MyCompany.MyProduct.Modules.ModuleA.dll)
+-- ViewModels
|   +-- StuffViewModel.cs
|       (etc)
+-- Views
+-- StuffView.xaml
       StuffView.xaml.cs
    (etc)

Referencias de proyectos:

MyCompany.MyProduct hace referencia a MyCompany.MyProduct.Infrastructure MyCompany.MyProduct.Modules.ModuleA hace referencia a MyCompany.MyProduct.Infrastructure

Ahora, tanto en Shell.xaml como en StuffView.xaml, incluyo un diccionario combinado como tal:

<ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary
            Source="pack://application:,,,/MyCompany.MyProduct.Infrastructure;component/Resources/MyApplicationStyles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

En ambos casos, sin embargo, estoy corriendo de cabeza en el siguiente error:

Could not load file or assembly 'MyCompany.MyProduct.Infrastructure, Culture=neutral' or one of its dependencies. The system cannot find the file specified.

(suspiro) También noto que el editor de xaml me muestra dos errores ondulados en esta línea:

<ResourceDictionary Source="pack://application:,,,/MyCompany.MyProduct.Infrastructure;component/Resources/MyApplicationStyles.xaml"/>

El primer error de squiggly es ...

An error occurred while finding the resource dictionary "pack://application:,,,/MyCompany.MyProduct.Infrastrucuture;component/Resources/MyApplicationStyles.xaml".

El segundo error (más curioso) es ...

"Assembly name expected instead of project name."

Así que esto es lo que he intentado:

Verifiqué tres veces que las referencias del proyecto existen (y las eliminé y las volví a agregar) He comprobado que MyCompany.MyProduct.Infrastructure se compila correctamente He comprobado que el ensamblado es correcto (a través de AssemblyInfo.cs) He cambiado la Acción de compilación en MyApplicationStyles.xaml una y otra vez (actualmente está configurado en "Página") He limpiado manualmente la solución y reconstruido He reiniciado Visual Studio un par de veces He sacrificado una cabra (está bien ... él era una cabra realmente hostil)

Me he quedado sin ideas y la búsqueda está apareciendo muy poco. ¿Algunas ideas

Respuestas a la pregunta(2)

Su respuesta a la pregunta