我正在自动化产品的 ClickOnce 部署。我正在将 ANT 用于构建脚本,但遇到了一个无法找到答案的问题。我可以构建我的项目并将所需的文件(EXE、DLL 等)复制到暂存目录。我可以打开命令提示符并手动运行 mage.exe 并生成并签署应用程序和部署清单。这给了我一个可以安装和运行的工作部署。当我尝试使用 ANT 脚本自动执行此操作时,问题就出现了。我编译产品并复制它就好了。在创建应用程序清单时,每个文件都会出现以下错误:
警告 MSB3178:程序集 {assemblyName} 被错误地指定为文件。
请记住,使用了完全相同的 mage 命令,但是当我从脚本运行它时,我收到了这个警告,这实际上是一个错误。由于这个错误,应用程序清单文件无效,我的产品不会安装在用户机器上。再一次,如果我在命令提示符中手动键入相同的命令,那么它可以工作并且我的部署很好,但是从我的脚本中它不起作用。所有的属性都被验证是正确的,所有的路径也是正确的。我还尝试使用所有硬编码值(无属性)运行命令,并且错误仍然存在。
任何帮助,将不胜感激。
<target name="foo">
<exec executable='${mage}'>
<arg line='-New Application
-Processor x86
-ToFile 'D:\BuildSynch\ClickOnce\TabletMPE\1.0.0.0\TabletMPE.exe.manifest'
-name 'TabletMPE'
-Version 1.0.0.0
-FromDirectory '1.0.0.0'"/>
</exec>
</target>