2014-04-05 2 views
1

У меня проблема с использованием DotRas в моей сборке. Где несколько версий DotRas для каждой платформы (WinXP, 7, 8 и т. Д.). Проблема в том, что все библиотеки libs имеют одинаковые имена классов и имен. Поэтому, если я добавлю ссылку на все и попытаюсь их использовать, VS говорит, например, Ambiguous reference: DotRas.RasPhoneBook Так можно ли решить проблему в одной сборке? Или мне нужно только создать обертку для каждого класса DotRas.Использование нескольких классов с тем же именем (DotRas) в одной сборке

+1

я нашел http://msdn.microsoft.com/en-us/library/ms173212 .aspx! Возможно изменить псевдоним в свойстве ссылки VS! Большое спасибо! – user2598575

+0

Шаги: 1) добавьте все необходимые ссылки 2) введите в начале файла: 'extern alias AliasName', где AliasName - это псевдоним, который вы ввели в свойствах библиотеки в VS. Использование: 'AliasName.MyClass sample = new AliasName.MyClass();' и т. Д. – user2598575

ответ

1

Вы пытались использовать псевдонимы для разных платформ (WinXP, 7, 8 и т. Д.)? В использовании оператора. Он должен решить вашу проблему.

using colAlias = System.Collections; 
namespace System 
{ 
class TestClass 
{ 
    static void Main() 
    { 
     // Searching the alias: 
     colAlias::Hashtable test = new colAlias::Hashtable(); 

     // Add items to the table. 
     test.Add("A", "1"); 
     test.Add("B", "2"); 
     test.Add("C", "3"); 

     foreach (string name in test.Keys) 
     { 
      // Searching the global namespace: 
      global::System.Console.WriteLine(name + " " + test[name]); 
     } 
    } 
}} 

Полный пример здесь: http://msdn.microsoft.com/en-us/library/c3ay4x3d.aspx

Также есть МС ссылка для использования пространств имен: http://msdn.microsoft.com/en-us/library/dfb3cx8s.aspx

+0

Вы должны включить пример в свой ответ, чтобы сохранить свой ответ в случае разрыва ссылки или недоступности веб-сайта – Sayse

+0

Не работает, потому что VS не знает какую ссылку использовать. Опять же - все библиотеки имеют те же пространства имен, что и не только имена классов. – user2598575

+0

Да, я вижу вашу мысль. В этом случае следует использовать внешний псевдоним. Рад, что вы нашли ответ. – GenZiy

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