我已将旧的Visual C ++ 6.0项目转换为新的Visual C ++ 2010项目。它的功能,但我从旧项目中获取的后期构建事件有问题。它在计算机上注册了目标文件(.ocx):
copy $(ProjDir)\PDFXChange\dll.Debug\*.* $(TargetDir)
regsvr32 /s /c "$(TargetPath)"
echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
在我的新解决方案中它不起作用。我还在单个命令中对它进行了测试:在三个命令(copy,regsvr32和echo)中,只能执行最后一个命令。可能是我的错误。
错误:
error MSB3073: The command "copy \PDFXChange\dll.Debug\*.* C:\_tests_\ocx2010\Debug\
regsvr32 /s /c "C:\_tests_\ocx2010\.\Debug\LayoutBox.dll"
echo regsvr32 exec. time > ".\Debug\\regsvr32.trg"
:VCEnd" exited with code 3. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets
COPY和REGSVR32似乎无法正常工作。
答案 0 :(得分:0)
问题在于宏$(ProjDir)的名称。在Visual C ++ 2010中它是$(ProjectDir)
$(ProjDir) - > $(Proj ect Dir)
一些宏改变了他们的名字(经过这么多年)!
命令 copy \ PDFXChange \ _dll.Debug *。* C: tests \ ocx2010 \ Debug 应该将一些DLL复制到下一个命令的文件夹中regsvr32 / s / c" C: tests \ ocx2010。\ Debug \ LayoutBox.dll 尝试注册目标文件。它无法在那里找到任何DLL,因此它会退出并显示错误消息。