Как разделить классы между проектами.NET без использования библиотеки?

У меня есть два проекта - один тестовый, другой финальная версия. Я знаю, что есть возможность поместить общий код в библиотеку, но я хочу, чтобы скомпилированный результат был одним файлом без каких-либо дополнительных библиотек DLL.

3 ответа

Решение

Вы можете "связать" файл кода между двумя или более проектами. Просто щелкните правой кнопкой мыши свой проект, выберите Add -> Existing itemи нажмите стрелку вниз рядом с кнопкой "Добавить":

По моему опыту, связывание проще, чем создание библиотеки. Связанный код приводит к одному исполняемому файлу с одной версией.

Вы можете использовать ILMerge, который объединит несколько сборок.Net в одну сборку.

Обычно вы должны иметь возможность добавить один и тот же файл исходного кода в несколько проектов. Например, в C# проекты могут содержать ссылки на файлы, которые хранятся в других местах и ​​будут включены в компиляцию, как и любые другие файлы.

  • Например, в Visual Studio 2012 выбранный ответ на этот вопрос указывает на то, что вы можете перетаскивать файлы в проект, нажимая клавишу Alt, чтобы создать ссылку.
  • В этой статье указывается, что соответствующая опция находится в диалоговом окне " Открыть файл " при добавлении существующего файла в некоторых версиях Visual Studio.
  • В SharpDevelop 4 вы можете использовать Добавить -> Существующий элемент из контекстного меню проекта (или папки проекта), чтобы выбрать существующий файл для добавления в проект; если этот файл находится за пределами иерархии папок вашего проекта; SharpDevelop спросит вас, хотите ли вы скопировать файл или просто создать ссылку на него.
Другие вопросы по тегам