msbuild无法注册输出

时间:2009-04-29 02:17:57

标签: visual-studio visual-studio-2008 msbuild regsvr32

我正在尝试让我们的构建脚本(使用MSBuild)在Vista上正常工作,并且我发现将注册输出(在链接器选项中)选项设置为True的项目无法从命令行构建类似的东西这样:

项目:错误PRJ0050:无法注册输出。请尝试启用每用户重定向或使用提升的权限从命令提示符注册组件。

虽然我可以轻松地为一台机器修复此问题,但可以通过运行管理员或任何我希望构建脚本为任何开发机器“正常工作”来运行。

即使刚刚注册失败但是继续构建也会令人满意。有什么建议吗?

布拉德

1 个答案:

答案 0 :(得分:4)

您可以创建包含以下文本的cmd文件:

@echo off
call regsvr32.exe /s %1
if %errorlevel% EQU 0 goto ok
echo Fail to register %1
goto exit
:ok
echo Register successful %1
:exit

之后你应该关闭注册输出,并且应该使用命令<pathtocmdscript> $(TargetPath)添加自定义构建步骤。对于自定义构建步骤,输出1应设置为$(TargetPath)。

最后,您将收到有关注册进度的消息,但编译不会在该步骤停止。