Почему C# не имеет стиля C++ статическими библиотеками? [закрытый]

Это - базовый взгляд на то, что я сделал для плавания одного изображения по другому.

img {
  position: absolute;
  top: 25px;
  left: 25px;
}
.imgA1 {
  z-index: 1;
}
.imgB1 {
  z-index: 3;
}

Источник

12
задан Peter Mortensen 15 January 2010 в 19:10
поделиться

3 ответа

.NET фактически поддерживает моральный эквивалент статического библиотека. Это называется сетевой модуль (расширение файла обычно .netmodule). Подробнее об этом читайте в сообщении блога . Помните, что он не поддерживается Visual Studio. построить цепочку инструментов. Я думаю, что методы расширения являются проблема тоже. ILMerge - лучший инструмент для этого сделано.

11
ответ дан 2 December 2019 в 20:41
поделиться

Это связано не напрямую с C #, а со всем зонтиком .NET. Конечно, можно объединять сборки, используя ILMerge , но, увы, это все еще исследовательский проект, но, по крайней мере, его лицензия разрешает использование в коммерческих целях. Кроме того, среда выполнения (CLR) не может быть объединена в один исполняемый файл, целевая платформа по-прежнему требует установки .NET.

Изменить:

Я набирал это до того, как вы редактировали свой пост с помощью ILMerge. Возможно, я ошибаюсь, но отказ от использования. Динамическое связывание в стиле .NET во время выполнения. Нет ничего плохого в том, чтобы собрать вспомогательные сборки вместе с исполняемым файлом. Microsoft не рекомендует помещать их в GAC.

3
ответ дан 2 December 2019 в 20:41
поделиться

Использование статических библиотек имеет недостаток, заключающийся в том, что они не могут быть исправлены поставщиком среды выполнения (MS).

Например, если вы используете статические библиотеки MFC и проблема с безопасностью или другая ошибка обнаружена в статические библиотеки MFC, MS не может исправить это (код уже находится в вашем исполняемом файле). Использование общих библиотек DLL позволяет легко вносить исправления на уровне ОС, не заботясь об этом.

Конечно, наличие общих библиотек имеет небольшой недостаток: берется зависимость, и они должны быть установлены в системе.

1
ответ дан 2 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: