Что мне делать, если я хочу выпустить сборку .net, но хочу, чтобы ее внутреннее устройство было подробно описано в манифесте (из такой утилиты, как ildasm.exe)?





Я думаю, что вы говорите о "запутывании". Об этом в сети много статей:
http://en.wikipedia.org/wiki/Obfuscation
«Стандартный» инструмент для обфускации в .NET - это Preemptive Solutions:
http://www.preemptive.com/obfuscator.html
У них есть версия сообщества, которая поставляется с Visual Studio, которую вы можете использовать.
Вы упомянули ILDasm, вы смотрели на .NET Reflector?
http://aisto.com/roeder/dotnet/
Это дает вам еще лучшее представление о том, что люди могут увидеть, если вы выпустите манифест!
CLR не может напрямую загружать модули, не содержащие манифеста. Таким образом, вы не можете сделать сборку полностью закрытой, если вы также не хотите сделать ее выгружаемой;)
Однако вы можете, как отмечал выше Марк, использовать инструменты обфускации, чтобы скрыть те части, которые вы хотели бы сохранить по-настоящему внутренними.
Жаль, что ключевое слово внутренний не исключает эти метаданные.
Обновлено: похоже, что этот вопрос очень связан