2013-11-20 3 views
1

Я пытаюсь использовать сборку .NET, у которой есть точка в ее имени, но она не работает. Имя сборки - PylonC.Net. Например, мой код начинается с.NET имя сборки содержит точку

using System; 
using System.Collections.Generic; 
using PylonC.Net; 

Если я скомпилировать его (с C# compliler csc.exe, который поставляется с MS VS2010 Express) Я получаю эту ошибку:

error CS0246: The type or namespace name 'PylonC' could not be found (are you missing a using directive or an assembly reference?)

я проверил, что PylonC.Net находится в кэше с gacutil:

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

Мне кажется, что точка в названии сборки заставляет компилятор искать Net внутри PylonC вместо сборки под именем PylonC.Net.

Узел PylonC.Net предоставлен Basler для управления их камерой FireWire. Я не могу изменить его имя или найти замену.

Я попытался получить поддержку от Basler, но это очень сложно, так как мы купили их камеру как часть системы от стороннего поставщика. Basler не оказывает поддержку напрямую, а скорее через местных представителей, а представители поддерживают своих клиентов (т. Е. Люди, которые купили камеру Basler через них). Сторонний поставщик находится в другой стране, чем я ...

Любая помощь была бы очень признательна!

Спасибо,

Gil

+0

На моей голове вы можете использовать некоторый дизассемблер IL (например, DotPeek by JetBrains), чтобы выполнить поиск в самой сборке и получить его фактическое имя. – J0HN

ответ

6

Похоже, вы забыли добавить ссылку на сборку PylonC.Net в проекте.

Кроме того, имена и имена сборок - это две разные вещи. Оба могут содержать точки, и большую часть времени они содержат много точек. (Пространства имен чаще всего начинаются с названия сборки, но только по соглашению.)

+0

Спасибо! Вы были абсолютно правы. Я должен был упомянуть, что я .NET-ламер ... В любом случае, для полноты и будущей ссылки, вот как правильно вызвать компилятор: csc SimpleGrab.cs/reference: «C: \ Program Files \ Basler \ pylon 4 \ pylonc.net \ bin \ PylonC.NET.dll " – user3012520

+0

Вы можете добавить ссылку в Visual Studio: щелкните правой кнопкой мыши по проекту -> добавить ссылку. В конце концов, это будет в качестве параметра/reference для csc.exe, но гораздо лучше разработать код и поддерживать проекты в Visual Studio. – fejesjoco

Смежные вопросы