我正在尝试使用名称中带有点的 .NET 程序集,但它不起作用。 该程序集的名称是 PylonC.Net。例如,我的代码以
开头using System;
using System.Collections.Generic;
using PylonC.Net;
如果我编译它(使用 MS VS2010 Express 附带的 C# 编译器 csc.exe),我会收到此错误:
error CS0246: The type or namespace name 'PylonC' could not be found (are you missing a using directive or an assembly reference?)
我用 gacutil 检查 PylonC.Net 是否在缓存中:
The Global Assembly Cache contains the following assemblies:
PylonC.Net, Version=4.0.1.3425, Culture=neutral, PublicKeyToken=a77e8471c5919d 5a, processorArchitecture=MSIL
如果我检查 PylonC 的缓存,我会得到这个:
The Global Assembly Cache contains the following assemblies:
Number of items = 0
在我看来,程序集名称中的点让编译器在 PylonC 中寻找 Net,而不是名为 PylonC.Net 的程序集。
PylonC.Net 程序集由 Basler 提供,用于控制其 FireWire 相机。我无法更改其名称或找到替代品。
我试图从 Basler 获得支持,但这非常困难,因为我们从第三方供应商处购买了他们的相机作为系统的一部分。 Basler 不直接提供支持,而是通过本地代表提供支持,而这些代表只支持他们的客户(即通过他们购买 Basler 相机的人)。第三方供应商与我在不同的国家...
如有任何帮助,我们将不胜感激!
谢谢,
吉尔
最佳答案
您似乎忘记在项目中添加对 PylonC.Net 程序集的引用。
此外,命名空间和程序集名称是两个截然不同的事物。两者都可以包含点,而且大多数时候它们确实包含很多点。 (命名空间大多以程序集的名称开头,但只是按照约定。)
关于c# - .NET 程序集名称包含点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20092933/