или же:

лкнулся с маловероятным сценарием, когда ссылаюсь на две внешние сборки, которые имеют одинаковое пространство имен и имена типов. Когда я пытаюсь использовать тип, компилятор выдает ошибку, что он не может решить, какой из них я хочу использовать.

Я вижу, что C # предлагает механизм использования псевдонимов для ссылок. Вы можете даже указать эти псевдонимы черезProperty окно ссылки в Visual Studio 2008. Как использовать этот псевдоним в моем коде? Как я понимаю, я должен использовать:: оператор, но он выходит из строя со следующей ошибкой:

CS0432 - Alias not found

Обычно. Оператор также не работает.

В окне вывода я вижу, что компилятор правильно передает псевдоним в своей командной строке.

Любые указатели на то, что я могу попробовать дальше, с благодарностью.

 Grzenio06 мар. 2009 г., 15:56
«Обычный оператор тоже не работает». Вы можете расширить это? Это работает, если вы вводите все пространство имен

Ответы на вопрос(4)

внешний псевдоним. Энсон Хортон имеет хороший блог по этой проблеме и как использоватьвнешний псевдоним Исправить это.

Попробуй это:

extern alias asm1;
extern alias asm2;

namespace Client
{
    class Program
    {
        static void Main(string[] args)
        {
            asm1.MyNs.MyClass mc1 = null;
            asm2.MyNs.MyClass mc2 = null;
        }
    }
}

И добавитьglobal,asm1 на ссылку на проект для Assembly1 иglobal,asm2 для сборки2

Решение Вопроса
extern alias alias1;
using alias1::Namespace;
 Spiralis16 мая 2011 г., 13:20
Кроме того, вам также нужно изменить свойство сборочной ссылки 'Aliases' с «global» на «global, alias1».
 RandomNickName4231 мая 2009 г., 23:10
Это можно использовать для обходного метода CS0433 (ошибка компилятора C #).msdn.microsoft.com/en-us/library/64wh5743(VS.100).aspx
 RandomNickName4231 мая 2009 г., 23:11
Я только что заметил, это 1 номер ошибки из вопроса "Гортока" здесь, смешно.

она имеет псевдоним по умолчанию "global". Когда вы добавляете другой псевдоним для этой сборки, например, "global, AssemblyA", вы будете ссылаться на это так:

using SomeTypeAlias = AssemblyA::Company.Product.SomeType;

или же:

void SomeMethod(AssemblyA::Company.Product.SomeType someType) { ... }

Ваш ответ на вопрос