Мой текущий проект имеет зависимости от компонентов COM, которые используют бок о бок проявляет. Предоставленный мне манифест содержит file
элементы без каких-либо comClass
подэлементы, такие как, например:
<file name="fred.dll">
</file>
Имеет ли это какой-то смысл или их можно безопасно удалить? Некоторый дополнительный контекст, манифесты были созданы автоматически в прошлом. И данные пустые записи, предположительно, вызвали проблемы в переданном, мне объяснили, что странные вещи случаются, если процесс зависит от двух разных компонентов COM, которые оба имеют манифест, который содержит один и тот же пустой file
элемент. Кроме того, имена DLL в пустом элементе являются прямыми C DLL, которые не содержат никаких объектов COM.
Я посмотрел на имеющиеся документация, и XSD предоставленный Microsoft говорит мне, что синтаксически правильно иметь пустой file
элемент. Однако я не нашел ответа на вопрос, если есть смысл добавить file
элементы манифеста, которые не описывают никаких объектов COM.
DLL являются прямыми C DLL
Это быстро превращается в бесполезную территорию. Технически все еще полезно, если библиотека DLL развернута в подкаталог с тем же именем, что и для зависимой сборки. <assemblyIdentity>
название. ОС не будет искать в подкаталогах DLL, если это не указано в манифесте. Альтернатива для параллельного развертывания в кэше WinSxS с использованием локального развертывания. Обратите внимание, что имя подкаталога имеет решающее значение, оно должно соответствовать атрибуту «name» элемента assemblyIdentity, что является лучшим способом распознать использование.
Йохен Кальмбах привел пример такого явного использования в этот блог. Полезно еще в те дни, когда Microsoft развернула CRT в WinSxS (VS2005 и VS2008), функцию, которая вызвала широкое распространение хаоса. Обратите внимание <file>
элемент во вложенном файле Microsoft.VC90.CRT.manifest.
Является ли это использование совпадением с тем, что вы нашли, не понятно. Очень странно скрывать детали в ТАКОМ вопросе. Самый простой способ узнать, нужно ли это, — просто удалить его и посмотреть, что поразит фаната. Мы не можем помочь вам сделать это.
Других решений пока нет …