仅仅是我,还是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