我真的在撞墙。首先,一些背景。该应用程序是使用WPF的PRISM 4 / MVVM应用程序,我的解决方案结构如下:

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)


项目参考:


MyCompany.MyProduct参考
MyCompany.MyProduct.Infrastructure
MyCompany.MyProduct.Modules.ModuleA
参考资料
MyCompany.MyProduct.Infrastructure


现在,在Shell.xaml和StuffView.xaml中,我都包括一个合并的字典,例如:

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


但是,在两种情况下,我都会首先遇到以下错误:

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


(叹气)我还注意到xaml编辑器在此行向我显示了两个弯曲的错误:

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


第一个弯曲的错误是...

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


第二个(更奇怪的)弯曲错误是...

"Assembly name expected instead of project name."


所以这是我尝试过的:


我对项目引用是否存在进行了三重检查(并且已经删除并重新添加了它们)
我检查了MyCompany.MyProduct.Infrastructure是否成功构建
我仔细检查了程序集是否正确(通过AssemblyInfo.cs)
我一次又一次更改了MyApplicationStyles.xaml上的“生成操作”(当前设置为“页面”)
我已经手动清理了解决方案并进行了重建
我已经重新启动了Visual Studio几次
我已经牺牲了一只山羊(没关系……他是一只非常不友好的山羊)


我没有想法,搜索的机会很少。有任何想法吗?

最佳答案

确保所引用的程序集已针对相同版本的.Net框架进行了编译。

10-04 17:28