.NET Project Reference: Как ссылаться на DLL через ссылочный проект? - PullRequest
4 голосов
/ 26 мая 2009

Надеюсь, я правильно спрашиваю:

У меня есть проект

Projects.Client

У меня есть библиотека классов (все, что я использую для инфраструктуры)

Library

Предполагая, что это оба проекта, как я могу сделать это из класса в "Projects.Client"

using Library;

public class xxx
{
    public void DoSomething()
    {
        Library.SomeDll.DoSomething();
    }
}

SomeDll.dll упоминается в проекте «Библиотека». «Библиотека» является ссылкой в ​​проекте конечного клиента «Projects.Client»

Я знаю, что мог бы просто добавить SomeDll в проект "Projects.Client", но есть ряд элементов, и я использую их все время. Я хотел бы иметь возможность включить «Библиотеку» и каким-то образом иметь возможность ссылаться на все, что в ней (включая необработанный код и библиотеки DLL). Это возможно?

пожалуйста, обратите внимание: я бы предпочел не писать явные обертки для всех методов, и dll статичен, поэтому я не могу сойти с рук в проекте «Библиотека»:

public static class WrapSomeDll
{
    public static extern SomeDll Dll();
}

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

Ответы [ 2 ]

2 голосов
/ 26 мая 2009

Извините, это не работает. Вам нужна ссылка на SomeDll, чтобы использовать его метаданные в Project.Client. Это действительно так просто.

Имейте в виду, что ссылки - это не просто вопрос преобразования символов в адреса. Это вопрос переноса метаданных (типов), чтобы их можно было использовать.

0 голосов
/ 26 мая 2009

Вам просто нужно сослаться на проект и добавить , используя предложения для пространств имен, которые вы хотите использовать. Нет необходимости указывать имя DLL

...