Упакуйте проект C # в dll или другую библиотеку - PullRequest
1 голос
/ 21 июня 2011

У меня есть проект на C # со многими классами.Можно ли упаковать этот проект (консольное приложение) в библиотеку (может быть, DLL или что-нибудь еще) и вызвать все функции определенного класса из других языков программирования?

РЕДАКТИРОВАТЬ: Вот код: <pre> using System; using System.Text;</p> <p>namespace Test { class Program { public int aplusb(int a, int b) { return a + b; }</p> <pre><code> public void hello() { Console.WriteLine("Helo world"); } }

} И иерархия в папке проекта: - Свойства - Ссылки - bin - Debug --- Test.dll --- Test.exe --- Test.pdb --- Test.vshost.exe --- Test.vshost.exe.manifest - obj - x86 --- Debug ---- TempPE ----- DesignTimeResolveAssemblyReferencesInput.cache ----- Test.csproj.FileListAbsolute.txt -----Test.dll ----- Test.pdb ----- ResolveAssemblyReference.cache - Program.cs

Я проверил оба файла Test.dll из bin и obj.Они пусты

Ответы [ 4 ]

1 голос
/ 21 июня 2011

при сборке проекта вы получаете dll в соответствующей папке bin.

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

0 голосов
/ 21 июня 2011

Библиотеки классов, которые вы создаете с помощью .NET (которые в конечном итоге становятся DLL), могут использоваться только из других приложений или библиотек .NET или - если вы решите включить его - из COM.

.Я знаю, что невозможно создать DLL с C #, чьи методы можно затем вызывать из неуправляемого приложения (C, C ++ и т. Д.).Не существует так называемых «экспортируемых методов», поэтому средство просмотра DLL показывает, что оно пустое.Проверьте еще раз, используя .NET Reflector или аналогичный декомпилятор, и вы увидите, как эти методы отображаются.

0 голосов
/ 21 июня 2011

Да, вы можете создать проект библиотеки классов.Просто помните, что вы создаете dll с управляемым кодом, если вы хотите использовать его, например, в c ++, вам нужно сделать некоторые дополнительные вещи.

0 голосов
/ 21 июня 2011

Свойства проекта Visual Studio -> Приложение -> Тип вывода: Библиотека классов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...