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,这样就解决问题了。

    如果你满意给个赞谢谢!

  • 相关阅读:
    Oracle JET Model 数据获取与使用
    Windows 10 安装MySQL 8.0.11
    Windows安装JDK9
    Centos安装JDK
    Centos7下安装php-redis扩展及简单使用
    XAMPP开启虚拟目录
    centos7.2 环境下配置 Apache2.4 +PHP5.6+Redis+Supervisord
    CentOS 7 开放3306端口访问
    编译Apache时,如何enable所有组件
    LINUX创建www的用户组和用户,并且不允许登录权限:
  • 原文地址:https://www.cnblogs.com/happyShare/p/13785390.html
Copyright © 2011-2022 走看看