Mt.exe не любит абсолютные пути в опции -dll - PullRequest
1 голос
/ 01 сентября 2010

Это только я или Mt.exe ненавидят абсолютные пути в опции -dll?

У меня есть проект Visual C ++ в Visual Studio 2008 со ссылкой наизолированные (без регистрации) COM DLL.Я копирую COM DLL в выходную директорию проекта, используя событие Pre-Build.В свойствах проекта в диалоговом окне «Свойства конфигурации»> «Инструмент манифеста»> «Изолированный COM» я использовал следующие параметры:

Type Library File: $(OutDir)\MyCom.tlb
Registrar Script File:
Component File Name: $(OutDir)\MyCom.dll
Replacements File:

Visual Studio показывает сгенерированную команду командной строки:

mt.exe /nologo
    /tlb:"C:\[ ... snip ... ]\OtherProject\Release\MyCom.tlb"
    /dll:"C:\[ ... snip ... ]\OtherProject\Release\MyCom.dll"
    /outputresource:"..\Release\OtherProject.exe;#1"

Он прекрасно работает, но я получаю исключение FileNotFound во время выполнения.Приложение не может найти MyCom.dll!Изменение Component File Name на следующий относительный путь работает нормально:

Component File Name: ..\$(ConfigurationName)\MyCom.dll
...