製品の 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>