Я нахожусь в процессе автоматизации развертывания продукта ClickOnce. Я использую ANT для сценария сборки и столкнулся с проблемой, на которую не могу найти ответ. Я могу создать свой проект и скопировать необходимые файлы (EXE, DLL и т. Д.) В промежуточный каталог. Я могу открыть командную строку и вручную запустить mage.exe, создать и подписать манифест приложения и развертывания. Это дает мне рабочее развертывание, которое установит и запустит. Проблема возникает, когда я пытаюсь автоматизировать это с помощью сценария ANT. Я компилирую продукт и копирую его просто отлично. Когда дело доходит до создания манифеста приложения, я получаю следующую ошибку для каждого файла:
Предупреждение MSB3178: Сборка {assemblyName} неправильно указана в виде файла.
Имейте в виду, что используется точно такая же команда мага, но когда я запускаю ее из скрипта, я получаю это предупреждение, которое в конце концов действительно является ошибкой. Из-за этой ошибки этот файл манифеста приложения недействителен, и мой продукт не будет установлен на компьютере пользователя. Еще раз, если я вручную ввожу ту же команду в командной строке, тогда она работает, и мое развертывание отлично, но из моего сценария это не работает. Все свойства проверены, чтобы быть правильными, и все пути также являются правильными. Я также попытался выполнить команды со всеми жестко закодированными значениями (без свойств), и ошибки не исчезли.
Любая помощь будет оценена.
<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>