Возможно ли заставить мой файл решения С# сделать единую DLL, содержащую все проекты в решении, вместо одной библиотеки DLL для каждого проекта? Этот чувак говорит, что это невозможно, но я замечаю, что сообщение с 2004 года. Я использую Visual Studio 2008 Team System и это приложение С#.
Одна DLL, несколько проектов?
Ответ 1
Нет. Каждый проект будет скомпилирован в отдельную библиотеку или приложение.
Однако вы можете объединить их в один файл DLL или EXE, используя
Ответ 2
Это невозможно в Visual Studio напрямую, но вы можете объединять сборки, используя ILMerge. Это может быть, например, выполняться на этапе после сборки:
ilmerge /target:winexe /out:SelfContainedProgram.exe
Program.exe ClassLibrary1.dll ClassLibrary2.dll
Если ваш проект является проектом ASP.Net, вы можете положиться на Инструмент слияния ASP.NET.
Ответ 3
Это возможно, и это было возможно даже в 2004 году.
Однако Visual Studio не раскрывает его.
Вам нужно использовать netmodules.
Ответ 4
Вы можете создать MSBuild script, который использует XSLT для объединения всех файлов csproj в один, а затем создает его. Вам не нужно будет копировать файлы cs или что-то в этом роде, просто динамически создавайте новый файл csproj.
Ответ 5
Никогда не делал это лично, но похоже, что этот инструмент может сделать это: