Используйте Manifest Tool (mt.exe) для изменения «версии» «Неуправляемой сборки» - PullRequest
2 голосов
/ 07 июля 2010

Теперь, когда нативный код может иметь сборки (например, " неуправляемая сборка ") для параллельного использования кэша, меня интересует изменение версии библиотеки DLL после ее сборки (как часть схемы автоматического создания версий инкрементной сборки). Я думаю, что я близок к использованию этой команды:

mt -updateresource:MyNewlyBuiltThing.dll;#2 -identity:"MyNewlyBuiltThing, version=5.5.0.1"

Эта команда выдает мне следующую ошибку:

mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "MyNewlyBuiltThing.dll". Access is denied.

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

Возможно, проблема в том, что я использую неправильное имя в строке идентификации. В конце концов, когда я загружаю встроенный ресурс двоичного файла в Visual Studio, он показывает манифест, в котором не упоминается его имя - он упоминает только имена зависимостей.

В любом случае, мне было просто интересно, можно ли уговорить mt.exe дать мне неуправляемую сборку после сборки сборки. Любое понимание того, что я делаю не так? И если это невозможно, почему?

1 Ответ

2 голосов
/ 24 ноября 2010

Если проблемы с разрешениями были исключены:

Вы работаете в файловой системе FAT? Там могут быть проблемы, если не на NTFS. Кроме того, некоторые проблемы этого типа исчезли с последним mt.exe, частью «Microsoft Windows SDK для Windows 7 и .NET Framework 4», версии 7.1 , так что вы можете попробовать это.

...