C# --- как указать ссылку на используемую dll в .cs файле?

программирование C# net dll assembly

Для тестирования разных dll пишу маленькие программы-тесты, помещающиеся в один файл. Было бы очень удобно, если бы можно было указать ссылку на используемую dll в этом же файле: тогда бы можно было бы компилировать все эти файлы одной и той же командой csc filename.cs.

Есть ли возможность указать такую ссылку (assembly dependency) в filename.cs?

Примечание:
2SLonoed
Спасибо за ссылки. Пока увидел там динамическое связывание с dll во время выполнения. Хотелось бы, если это возможно, связываться с dll на этапе компиляции, если это возможно: тогда будет проще искать ошибки в моем коде, т.к. о них будет говорить компилятор.

Примечание:
Да, Blacklokky, я так и пытаюсь использовать за исключением того, что
1. Не могу редактировать исходные коды dll-ек (разработчик их не предоставляет).
2. Не уверен, что используются классы, производные от System.ComponentModel.Component.
3. Не очень понимаю, что в данном контексте обозначает использование слов "клиент" и "сервер" (разве что моя программа использует функции, описанные в dll, поэтому она клиет, а dll предоставляет функции для использования, поэтому она сервер).

К сожалению, это приводит к 3-килобайтовой командной строке вида csc /r:"D:\.....\MyDll1.dll" /r:"D:\.....\MyDll2.dll" /r:"D:\.....\MyDll3.dll" ..... /r:"D:\.....\MyDll42.dll" test.cs (в строке указывается полный путь к dll-кам). В том и проблемы, что все dll-ки приходится прописывать в коммандной строке и из-за этого возникают сложности a) с тем, что такую коммандную строку тяжело писать каждый раз вручную, поэтому приходится откуда-то копировать или использовать дополнительный bat файл. Именно для того, чтобы избавиться от такой длинной коммандной строки я и задавал этот вопрос.

Примечание:
На данный момент тестирование окончено. Спасибо за ответ, я им воспользуюсь когда в следующий раз буду в нем нуждаться. Сейчас начинаю заниматься совсем другой задачей, мало связанной с C#.
Еще раз спасибо, ключевого слова DllImport я не знал, буду знать.
Ответы:
Используйте Visual studio 2008\2010. Там уже интегрирована поддержка тестирования методом написания тестов. А то, что Вы делаете - это велосипед.
Если правильно вас понял, то вот:
http://my.execpc.com/~gopalan/dotnet/reflection.html
Используй компоненты.Они компилируются в dll.И на клиенте  компоненты вызываются как объекты класса и компилируются вместе с кодом сервера.
Вот каркас
1)Сервер
using System;
using System.ComponentModel;
namespace ServerComponent
{
public class MyComponent:Component
{
    public void Func1()
    {
          Console.WriteLine("Ф-ция №1 из MyComponent");
    }
    public void Func2()
    {
          Console.WriteLine("Ф-ция №2 из MyComponent");
    }
}
}
Этот проект должен быть Class Libraru project,тогда на выходе получится обычная dll.
А если использовать атрибуты?


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.