XAML 设计器无法在设计时加载资源文件。

6
我们有两个产品,它们共享一个资源DLL项目。在DLL中有三个不同的资源类。其中一个是用于共享后端的,第二个是用于一个产品的,最后一个是用于另一个产品的。
其中一个产品是WPF窗口应用程序。该应用程序有一个名为“ MyCommands”的静态类:
public static class CarSystemCommands {

    public static RoutedUICommand CameraStatus { get; set; }

    public static RoutedUICommand CancelChanges { get; set; }

    . . .

    static CarSystemCommands() {
        CameraStatus = new RoutedUICommand( Car.Dashboard_CameraStatus, "CameraStatus", typeof( CarSystemCommands ) );
        CancelChanges = new RoutedUICommand( Car.Common_CancelChanges, "CancelChanges", typeof( CarSystemCommands ) );
        . . .
    }
}

代码编译和运行都没有问题。

现在,我有一个名为CameraConfiguration的用户控件,它使用相同的资源文件。当我在XAML设计器中查看该用户控件时,它显示正常。

CameraConfigurtaion用户控件包含在另一个名为SettingsEditor 的用户控件中。当我在XAML设计器中查看SettingsEditor时,会出现错误:

异常:无法创建 "CameraConfiguration" 的实例。

查看各种堆栈跟踪,我找到了一个读取的堆栈跟踪:

FileNotFoundException: 找不到文件或程序集“Resources,Version = 5.1.15588.0,Culture = neutral,PublicKeyToken = null”或其中一个依赖项。系统无法找到指定的文件。

资源项目只具有默认引用。它没有引用任何其他DLL或项目。

正如我所说,一切都编译和运行正确。并且在设计师编辑它时,报告问题的控件显示得很好。

是否有人知道是什么原因导致这个问题?或者我该如何修复它?不能在更改时查看控件真的很烦人。

编辑

自从我发表这个问题以来,我已经从VS2012移动到了VS2013,然后又移动到了VS2015。这个问题仍然存在!

1个回答

0

我曾经遇到过类似的问题。我使用的是Visual Studio 2010,有几个解决方案。在其中一个解决方案中,我有控件和数据模型与其他项目共享。每次在其他解决方案中重新构建(而不是构建)此项目时,我在设计时会出现错误(应用程序运行完美)。我不得不清除第二个解决方案并再次构建它。现在我使用的是Visual Studio 2012,我没有这种类型的错误(也没有这种类型的解决方案)。


1
我正在运行VS 2012,遇到了这个问题。虽然很烦人,但我已经忍受了它。不过如果能不用忍受就更好了…… - Tony Vitabile

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接