首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MS Visual Studio子项目编译预生成事件(如果条件错误)

MS Visual Studio子项目编译预生成事件(如果条件错误)
EN

Stack Overflow用户
提问于 2020-09-11 10:00:13
回答 1查看 112关注 0票数 0

我的解决方案有两个项目: c++ dll和c# web。Dll项目有预构建事件,如下所示

代码语言:javascript
运行
复制
IF 2 == 1
(
   echo ERROR: Dll building error
)

而且,很明显,如果我为dll项目运行此条件,则此条件不会中断构建过程,并且会成功地结束。

但是..。网络项目依赖于dll,因此通过MSBUILD.exe命令在它自己的预构建事件中使用它。因此,在构建前父级(MSBUILD,用于web)之后是嵌套的预构建子程序(如果用于dll)。。如果我尝试构建web项目,它会中断消息Dll构建错误(来自dll项目预构建事件),因为MSBUILD.exe (在web预构建事件中)生成的子dll项目已经成功地构建了--结果dll文件出现在输出dir中!

这是什么意思?子生成前事件条件不正确地中断父生成进程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-11 11:57:07

问题似乎是您滥用了MSBuild。处理“子项目”的正确方法是使用解决方案。在此解决方案中,您有两个项目和一个来自DLL上的web项目的项目依赖项。构建解决方案,这是一个MSBuild命令。因此,C# web项目不需要启动另一个MSBuild命令。

MSBuild在使用解决方案文件时,会看到真正的依赖项,并正确地处理构建失败。注意,构建前事件中的“回显错误”只是屏幕上的文本,而不是生成失败。You'll need to exit /b 1 the pre-build step to stop the build

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63844854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档