0

我在许多不同的项目中不断出错,而且似乎是随机发生的。所有项目都是WPF。

在设计时它会抛出水晶报告错误并拒绝向我显示设计窗口。在运行时,一切都像魅力一样。有人知道怎么修这个东西吗 ?

这是设计窗口中显示的错误:

System.Reflection.Adds.UnresolvedAssemblyException
Type universe cannot resolve assembly: CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304

例如,现在我正在尝试处理用户控件,因此在我看到它之前必须关闭并重新打开窗口多达 25-30 次变得非常令人沮丧,并且当它可以时我 ouch 1 到标签和砰,它又消失了。“重新加载设计器”链接工作 1/10,但仅在更改 1 个标签后修复这种方式肯定会失败。

这里是用户控制代码(我知道人们会询问发生错误的代码,但它会在任何地方发生,所以我只给出这个,因为它是我正在尝试构建的新代码)

<UserControl x:Class="CustomTools.UserControl.ComponentSelection.UCSelections"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
        <DataGrid >
            <StackPanel Orientation="Horizontal">
           <Image Name="imgSuccesOrFail" Height="32" Width="32" Margin="10,0,10,0" >

        </Image>
                <StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <Label Content="Component Name : "/>
                        <Label Content="comp1"/>
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <Label Content="Component Name : "/>
                        <Label Content="comp1"/>
                    </StackPanel>
                </StackPanel>
            </StackPanel>
    </DataGrid>
</UserControl>

打我的第一件事是我不使用水晶报告的任何视觉控制,这个控制也与它无关。

这是CS作为证明:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Drawing;


namespace CustomTools.UserControl.ComponentSelection
{
    /// <summary>
    /// Interaction logic for UCSelections.xaml
    /// </summary>
    public partial class UCSelections : System.Windows.Controls.UserControl
    {
        public UCSelections()
        {
            InitializeComponent();
        }
    }
}

我已经尝试将 .net 4 切换到 .net 4 客户端配置文件,我是否看过关于可能是它的帖子,但他们的问题与我的完全不同。

我尝试编译:32 位、64 位和任何 CPU 编译。重建解决方案。

任何想法如何解决这个问题。顺便说一句,我不是唯一一个遇到这个问题的人,这里的其他几个开发人员也有同样的问题,但不需要相同的文件。一些用户控制工作 100% 的时间,他们不使用水晶。我知道使用了水晶,但有很多控件让我知道在哪里。我还没有看到项目的全部范围。

编辑#1:我还要补充一点,当我开始工作时,这个问题在早上非常罕见,我编译和运行不同项目的次数越多,它开始变得越频繁。但是重新启动计算机并没有帮助,所以这似乎更巧合,这在早上从未发生过。

编辑#2:我打开和关闭项目几次以显示错误并且我设法得到它。现在我得到以下信息:

引发了“MS.Internal.Validate+ValidationFailure”类型的异常。在 MS.Internal.Design.DocumentModel.DocumentTreeManagers.DocumentNodeInfo.Insert(DocumentNode item, DocumentNode after, DocumentNodeDictionary table) 在 MS.Internal.Design.DocumentModel.DocumentTreeManagers.ItemUpdater.ApplyDelta(INodeHost nodeHost, DeltaItemCollection delta, ModifiableDocumentTree root, DocumentNodeDictionary oldTable , Boolean updateTable, DocumentNodeDictionary deletedItems, 比较1 compare) at Microsoft.Windows.Design.DocumentModel.Trees.DocumentTreeManager.ApplyDelta(Delta delta, Comparison1 比较)在 Microsoft.Windows.Design.Platform.ViewProducerBase.ApplyUpdate(Delta delta) 在 Microsoft.Windows.Design.Platform.ViewProducerBase.IncrementalRebuild(DocumentTreeManager 树,Damage damage) 在 Microsoft.Windows.Design.Platform.ViewProducerBase.UpdateView (DocumentTreeManager 树,损坏损坏)在 Microsoft.Windows.Design.DocumentModel.ViewProducer.UpdateView(UpdateDamageArguments args)

这仍然与上面描述的 XAML/CS 相同。从昨天开始就没有碰过它,因为那个错误让我非常恼火,我决定去做一些更有用的事情,而不是浪费时间。

编辑#3:

尝试了@N4TKD 解决方案我只安装了一个水晶报告,所以我删除了对水晶报告的所有引用,删除了我项目中的大量控件,但仍然存在问题。然后我重新签出项目并验证所有项目组装。他们都指向Crystal Reports for .NET Framework 4. 13.0.2000.0

有人有同样的问题吗?

顺便说一句,自从上次编辑以来,我没有收到错误MS.Internal.Validate+ValidationFailure,它只是水晶报告。

还摆脱<image></image>了用户控件中的错误,将抛出的错误几乎减少到 0

4

2 回答 2

2

尝试打开另一个 Visual Studio 实例,将调试器附加到“XdescProc”,并将调试器设置为在抛出任何异常时中断。

该过程负责渲染设计时视图。异常(或内部异常)通常可以提供一些关于正在发生的事情的提示。

于 2013-09-19T20:04:56.167 回答
0

我们终于为 VS2010 重新安装了旧版本的水晶报告,错误几乎不再显示了。我在过去的一周里只有 2 到 3 次,这比每天 100-200 次有了很大的进步

于 2013-10-01T17:53:16.740 回答