Поделиться через


Многофайловые сборки

Замечание

Эта статья связана с .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.

Вы можете создавать многофайловые сборки, предназначенные для .NET Framework, с помощью компиляторов командной строки или Visual Studio с Visual C++. Один файл в сборке должен содержать манифест сборки. Сборка, которая запускает приложение, также должна содержать точку входа, например Main метод или WinMain метод.

Например, предположим, что у вас есть приложение, содержащее два модуля кода, Client.cs и Stringer.cs. Stringer.cs создает myStringer пространство имен, на которое ссылается код в Client.cs. Client.cs содержит Main метод, являющийся точкой входа приложения. В этом примере вы компилируете два модуля кода, а затем создадите третий файл, содержащий манифест сборки, который запускает приложение. Манифест сборки ссылается на модули Client и Stringer .

Замечание

Многофайловая сборка может иметь только одну точку входа, даже если сборка содержит несколько модулей кода.

Существует несколько причин, по которым может потребоваться создать многофайловую сборку:

  • Объединение модулей, написанных на разных языках. Это наиболее распространенная причина создания многофайловой сборки.

  • Чтобы оптимизировать загрузку приложения, поместив редко используемые типы в модуль, скачанный только при необходимости.

  • Объединение модулей кода, написанных несколькими разработчиками. Хотя каждый разработчик может компилировать каждый модуль кода в сборку, это может вынуждать раскрывать некоторые типы, которые не раскрываются, если все модули объединяются в многофайловую сборку.

После создания сборки можно подписать файл, содержащий манифест сборки, и, следовательно, сборку, или предоставить файл и сборку строгое имя и поместить его в глобальный кэш сборок.

См. также