Mt.exe不喜欢-dll选项中的绝对路径

时间:2010-09-01 17:14:26

标签: visual-c++ manifest

仅仅是我,还是Mt.exe讨厌-dll选项中的绝对路径?

我在Visual Studio 2008中有一个Visual C ++项目,它引用了一个独立的(无注册的)COM DLL。我使用预构建事件将COM DLL复制到项目的输出目录中。在项目的属性中,在Configuration Properties> Manifest工具>隔离的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

0 个答案:

没有答案