zoukankan      html  css  js  c++  java
  • 公共语言运行时全局程序集缓存解决"利用旧版本的Blend SDK构建的,并且在Windows Presentation Framework 4项目不受支持"

    在wpf项目中我们引入System.Windows.Interactivity.dll程序集在使用时会报错:

    这是因为这个程序集是用vs2017构建的,然而我们的项目现在是用vs2019构建的,wpf界面会显示报错,但是运行时是正常的。

    那么怎样解决这个问题呢?就是使用gacutil.exe工具注册全局程序集缓存,如下:

    1、以管理员身份运行命令提示符
    2、定位到SDK目录: C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6.1 Tools   (注意:这个目录不是固定的而是gacutil.exe安装的目录,这里我们使用sdk自带的工具)
    3、注册DLL: gacutil -i System.Windows.Interactivity.dll    (注意:这个dll是具体的路径地址,参考上图)
    4、重新启动Visual Studio

    为什么添加了全局程序集缓存就OK了呢?

    首先看下定义:安装了公共语言运行时的每台计算机均具有计算机范围的代码缓存,称为全局程序集缓存。全局程序集缓存中存储专门指定给由计算机中若干应用程序共享的程序集。

    核心就是这里的”公共语言运行时“,前面我们就提到了,在设计界面会报错,但是在运行时是好的。那么现在把这个dll放在公共语言运行时中的全局程序集缓存中,在设计开发界面时实际上是调用运行时的dll,这样就解决问题了。

    如果你满意给个赞谢谢!

  • 相关阅读:
    asp.net mvc 从数据库中读取图片
    给折腾ramdisk的朋友们一点建议
    docker安装Jenkins和构建python容器
    docker笔记
    接口加密方式
    Dockerfile常用命令
    北斗七星小队团队展示
    固件程序设计实验内容1.4
    Myod实验 20181328祝维卿
    电子公文系统团队作业(四):描述设计
  • 原文地址:https://www.cnblogs.com/happyShare/p/13785390.html
Copyright © 2011-2022 走看看