Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XAML设计器:';FileNotFoundException';_C#_Visual Studio_Filenotfoundexception_Xaml Designer - Fatal编程技术网

C# XAML设计器:';FileNotFoundException';

C# XAML设计器:';FileNotFoundException';,c#,visual-studio,filenotfoundexception,xaml-designer,C#,Visual Studio,Filenotfoundexception,Xaml Designer,我正在使用C#开发一个可扩展的WPF应用程序。对于可扩展性,我使用MEF(托管可扩展性框架)。但是从今天起,XAML设计器不再适用于MainWindow.XAML。它抛出带有以下消息的FileNotFoundException: 无法加载文件或程序集“System.ComponentModel.Composition.CodePlex,版本=4.1.2.0,区域性=中性,PublicKeyToken=13e5ffd4e05db186”或其依赖项之一。找不到指定的模块 但奇怪的是,文件确实存在。我

我正在使用C#开发一个可扩展的WPF应用程序。对于可扩展性,我使用MEF(托管可扩展性框架)。但是从今天起,XAML设计器不再适用于
MainWindow.XAML
。它抛出带有以下消息的
FileNotFoundException

无法加载文件或程序集“System.ComponentModel.Composition.CodePlex,版本=4.1.2.0,区域性=中性,PublicKeyToken=13e5ffd4e05db186”或其依赖项之一。找不到指定的模块

但奇怪的是,文件确实存在。我将其复制到
bin\debug
文件夹中。并将其添加到引用中(是的,我尝试重新添加,但没有帮助)。另一件奇怪的事情是,它似乎是由XAML代码引起的,因为设计器适用于所有其他窗口。我已经尝试将一些可疑部分(
ItemControls
列出插件)标记为注释(我不想删除它们)。嗯,它曾经工作过,但后来我构建了解决方案,设计师崩溃了(内存不足)。从那以后,我又遇到了同样的问题

编辑:


我发现,XAML不是问题所在。当我删除对
System.ComponentModel.Composition.CodePlex的引用以及使用此库的每一个代码时,问题已经得到修复—直到我重新启动Visual Studio或设计器。

尝试从xaml中删除项/控件,直到问题不再显现。通过这样做,您可以预知问题的根源,并可能解决或至少为StackOverflow提供我们可以帮助解决的特定情况。

我在
标记中发现两个按钮(似乎)导致设计器崩溃:


但奇怪的是,每个控件的
Command=
属性都标记为错误。尽管命令(及其绑定)存在。鼠标悬停在它上面时,会显示一个工具提示,上面写着

无法加载文件或程序集“System.ComponentModel.Composition.CodePlex,版本=4.1.2.0,区域性=中性,PublicKeyToken=13e5ffd4e05db186”或其依赖项之一。找不到指定的模块


只有在设计器运行时才会发生这种情况,但我仍然可以调试(并运行)应用程序。当我终止设计器过程时,错误就消失了。

我注意到
bin\debug
文件夹中的
System.ComponentModel.component.CodePlex.dll
版本与Visual Studio正在搜索的版本不同。VS尝试查找版本为4.1.2.0的文件,但目录中的文件是1.1.0.0。

从Visual Studio中的引用位置以文件类型“资源文件”打开文件System.ComponentModel.Composition.CodePlex.dll。将FILEVERSION和PRODUCTVERSION更改为4,1,2,0并重新生成项目。这是一个让设计师工作的变通方法。干净的修复方法是请求CodePlex dll为这些程序集提供正确的产品和文件版本

只需为所述dll设置
CopyLocal=true
,即可删除此错误


这样,现有安装的版本与Nuget软件包中新添加的版本之间不会发生冲突。

哪个版本的Visual Studio?在最新版本的Blend中试用,看看是否得到相同的结果。@OmegaMan我正在使用Visual Studio 2013 Express。我可以在Blend中打开解决方案,但我不知道如何在designer视图中查看
main window.xaml
。在Blend中,只需单击其解决方案资源管理器中的文件即可打开它。此时,它应该显示设计视图。如果它显示的是原始xaml,那么在xaml代码的右上角有一个小按钮,可以在设计和xaml之间切换。没有按钮。即使我创建了一个新窗口(混合)。我的电脑上的Blend版本似乎只适用于Windows应用商店应用程序。