【发布时间】:2013-11-20 10:10:55
【问题描述】:
我正在尝试使用名称中带有点的 .NET 程序集,但它不起作用。 程序集的名称是 PylonC.Net。例如,我的代码以
开头using System;
using System.Collections.Generic;
using PylonC.Net;
如果我编译它(使用 MS VS2010 Express 附带的 C# 编译器 csc.exe)我会收到此错误:
错误 CS0246:找不到类型或命名空间名称“PylonC”(您是否缺少 using 指令或程序集引用?)
我用 gacutil 检查了 PylonC.Net 是否在缓存中:
全局程序集缓存包含以下程序集:
PylonC.Net,版本=4.0.1.3425,文化=中性, PublicKeyToken=a77e8471c5919d 5a,处理器架构=MSIL
如果我检查 PylonC 的缓存,我会得到:
全局程序集缓存包含以下程序集:
项目数 = 0
在我看来,程序集名称中的点使编译器在 PylonC 中查找 Net,而不是名为 PylonC.Net 的程序集。
PylonC.Net 组件由 Basler 提供,用于控制他们的 FireWire 相机。我无法更改其名称或找到替代品。
我试图从 Basler 获得支持,但这非常困难,因为我们从第三方供应商那里购买了他们的相机作为系统的一部分。 Basler 不直接提供支持,而是通过当地代表提供支持,而代表只支持他们的客户(即通过他们购买 Basler 相机的人)。第三方供应商与我在不同的国家...
任何帮助将不胜感激!
谢谢,
吉尔
【问题讨论】:
-
在我看来,您可以使用一些 IL 反汇编程序(例如 JetBrains 的 DotPeek)来查看程序集本身并获取它的实际名称。