【问题标题】:Getting an exception when .exe tested on another system在另一个系统上测试 .exe 时出现异常
【发布时间】:2011-08-22 09:34:14
【问题描述】:

我正在开发 WPF 应用程序,并创建了一个 exe 文件。 当我在我的计算机上运行 exe 文件时,它运行良好。但是当我尝试将我的 exe 与另一个系统一起使用时。它抛出一个异常,当我调试异常时它说...

找不到类型 'Microsoft.Windows.Controls.DataGrid'。 编译时使用的程序集可能 与使用时不同 加载和类型丢失。 对象“MyWork.App”中的错误 标记文件“MyWork.App;component/app.xaml”第 15 行 位置 6。

有什么想法吗?

问候,

桑格拉姆·南德基勒。

【问题讨论】:

    标签: wpf exception assemblies


    【解决方案1】:

    听起来您还没有安装包含Microsoft.Windows.Controls.DataGrid 的dll。这是 WPF 工具包的一部分,因此您需要将其安装在目标计算机上或将 dll 包含在您的安装程序中。

    如果您不想创建安装程序,则可以使用 ILMerge 合并程序集:

    是一个用于将多个 .NET 程序集合并到一个 .NET 程序集的实用程序。它适用于可执行文件和类似的 DLL,并带有几个用于控制输出处理和格式的选项。

    【讨论】:

    • 你的意思是我需要在我的引用中添加 wpf 工具包 DLL 的引用吗??我试过了,但没有改变任何东西我仍然收到相同的消息..
    • @Sangram - 我的意思是你必须实际将 dll 复制到目标机器上。这可以通过安装 WPF 工具包(不理想)或在应用程序安装程序中包含 dll 来实现。
    • No....我右键单击引用(存在于我的项目中)然后选择添加引用,然后通过浏览模式从另一个项目添加 WPF TOOLKIT DLL...是吗?
    • 其实我不想创建安装程序,我只想创建一个.exe文件,它将在不同的系统上执行..有可能吗??或者我将不得不创建一个安装程序??
    • @ Chris:现在我明白了 ..u 的意思是我的系统上使用的 DLL(wpf 工具包)在另一个系统上不存在..所以我需要安装那个 DLL(或者使用安装程序或使用 ILMerge )..我是对的吗??
    猜你喜欢
    • 2021-12-30
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多