升级.Net类库后缺少项目引用

更新 Oct 6, 2021

适用于

软件

  • Measurement Studio Standard

驱动

  • NI-Sync
  • NI-RFSG
  • NI-TClk

问题详述

我有一个引用NI .NET类库的.NET应用程序。我最近升级至最新版本的NI .NET驱动程序,发现打开项目时,Microsoft Visual Studio无法找到程序集。程序集现在位于哪里,将来如何避免这种情况?

解决方案

在早期版本的.NET类库驱动程序中,驱动程序安装在以下两个文件夹中(不包括全局程序集缓存(GAC)):
  • Measurement Studio文件夹:C:\Program Files (x86)\National Instruments\MeasurementStudioVS <version>DotNET\Assemblies\
  • IVI文件夹:C:\Program Files (x86)\IVI Foundation\IVI\Microsoft.NET\Framework32\<.NET framework version>\
但是,从2016年9月开始(版本16.0或更高),将所有.NET类库安装在IVI文件夹中以符合IVI要求。因此,任何引用较早Measurement Studio文件夹的.NET项目都将需要更新以指向IVI文件夹。更新引用时,请确保按名称引用程序集。请参考下图,以如何更新引用示范。

除了更改目录之外,还为了符合IVI要求而更改了名称:
  1. 将程序集重命名为*.FxXX.dll,以将目标框架包含在程序集名称中。
  2. 从文件版本中删除目标框架程序集版本。

例如,NI-TClk .NET程序集将以National Instruments Modular Instruments TClock Library 的形式出现在Microsoft Visual Studio的添加/删除引用对话框中留意程序集名称中包含空格。现在,该名称与库名称相同,如NationalInstruments.ModularInstruments.TClock.FxXX

 

相关信息

升级不会影响使用以较旧版本的驱动程序构建的现有应用程序。 NI安装了一个发布者策略文件,该文件将应用程序重定向到驱动程序的最新版本。较旧的程序集仍将位于GAC中,因此使用特定版本的NI Modular Instrument .NET驱动程序构建的.NET应用程序仍将与这些程序集一起运行。