天天看点

error MSB3073提示调用批处理文件失败,解决方法

今天调试代码是突然发现工程无法编译通过,提示信息如下:

错误    2    命令“Call XXXXXX.BAT”已退出,代码为 145。    SH.SpeConT.Config

查看输出结果:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(4291,5): error MSB3073: 命令“Call XXXXXX.BAT”已退出,代码为 145。

通过拷贝备份代码、更改工程路径、修改工程属性均无法修正。

但是备份工程可以正常编译。

感觉很奇怪,明明没有改动代码,对比备份代码没有任何区别,困扰了好几个小时~

网上查了查看到 得到提示可能是由于批处理文件失败导致。

于是通过逐行调整批处理文件找到rd xxx语句导致编译失败,查看删除文件夹,修改为可读写属性,工程编译通过。

应该是调用批处理文件是,如果执行失败则报error MSB3073这个错误,解决方法其实是保证批处理文件执行成功。

后来思索出现问题的场景可能是直接从服务器拷贝文件到工程,导致文件只读,批处理文件删除文件失败。