Проблемы со сборкой .netmodule

Компьютеры программирование .net

Доброго времени суток.

Имеется задача скомпилировать .cs-файл в .NET как отдельный модуль, который затем нужно будет подключить к другой сборке (на закономерно возникший вопрос "Зачем решать задачу именно таким путем" ответом является "Таково требование свыше")

Я нашел в интернете информацию о том, как решить задачу, но возникли проблемы. Дело в том, что в проект была добавлена библиотека dll, содержащая информацию об определенном типе. Добавлена, судя по всему, успешно, ибо у Студии нет претензий к объявлению переменных этого типа, всё видно.

Но при компиляции с помощью командной строки и компилятора csc с параметром /t:module выдает ошибку CS0246: не может, мол, найти описание типа,"скорее всего вы забыли ссылку на сборку" Я нашел, что есть такая опция /reference, которая позволяет явно указать компилятору, где находится библиотека с описанием типа (хотя я не понимаю, зачем это, если в самом проекте я уже установил эту ссылку, и среда все видит) НО! На выходе получается совсем не то, что должно.

Пробовал несколько вариантов:

csc /t:module myclass.cs /reference <путь к длл-ке.dll> - Неверный синтаксис команды
csc /t:module myclass.cs /reference <путь к длл-ке>.dll - невозможно найти указанный файл (очевидно, что потому, что у меня расширения не скрыты, но я на всякий случай попроблва)
csc /t:module myclass.cs /reference <путь к длл-ке.dll>.dll - На выходе получаю какой-то файл с пустым именем и расширением .dll, при открытии которого возникает ошибка
csc /t:module myclass.cs /reference <путь к длл-ке.dll>.netmodule (отчаянная бездумная попытка быстро решить задачу) - Получаю такой же пустой "битый" файл, только расшриения .netmodule

Я попробовал создать еще один проект и, не подключая там никаких сборок, написать простой класс и скомпилироваать его как .netmodule и... все получилось. Значит, проблема с подключением этой dll-ки, только где

Я уже много чего перепробовал, жду ваших советов.Заранее спасибо
Ответы:
>Я нашел, что есть такая опция /reference, которая позволяет явно указать компилятору, где находится библиотека с описанием типа
А если бы Вы ещё запустили
csc /?
и внимательно прочитали, то узнали бы, что синтаксис опции /reference другой:
/reference:<file list>         Указывать метаданные из заданных файлов сборок (Краткая форма: /r)
>хотя я не понимаю, зачем это, если в самом проекте я уже установил эту ссылку, и среда все видит
Вы компилите исходник (.cs), а не проект (.csproj). А сборка добавлена в проект, а не в исходник.


12 лет назад

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

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

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