我们有两个共享资源DLL项目的产品。 DLL中有三种不同的资源类。一个用于共享后端,第二个用于一个产品,另一个用于另一个产品。
其中一个产品是WPF Windows应用程序。该应用程序有一个名为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。这个问题仍在发生!
答案 0 :(得分:0)
我有类似的问题。我使用过Visual Studio 2010,我有几个解决方案。在其中一个解决方案中,我在其他项目之间共享了控件和数据模型。每当我在其他解决方案中重建(未构建)此项目时,我在设计时遇到错误(应用程序运行完美)。我必须清除第二个解决方案并再次构建它。现在我有visual Studio 2012,我没有输入错误(我也没有这种类型的解决方案)。