問題タブ [xmlpoke]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
msbuild - MSBuild 'afterbuild' タスクを使用して .config ファイルを編集するにはどうすればよいですか?
ターゲット プロジェクトに .config があり、MSBuild タスクを介してプログラムで行を追加する必要があります。
次のような疑似操作:
- ターゲットの .config ファイルを見つける
- 新しいノードの属性の値を決定します (例: 'package' ノードの 'id' と 'version')
- 新しいノードを正しい親ノードに挿入する
- 変更内容を保存
$TargetProjectDir\Config\packages.config の .config ファイル:
その後、次のようにする必要があります。
これまでのところ、「インライン タスク」、「EXEC」タスク、および「XmlPoke」タスクの使用を検討しましたが、いずれも機能させることができませんでした。
XmlPoke と XmlPeek を使用した私の試みは次のとおりです。
packages.config ファイルにノードを追加する方法については、次の記事を参考にしました 。使い方ナント
上記のビルドからの出力は次のとおりです。
質問: 既存のパッケージ ノードを含む .config ファイルに追加するにはどうすればよいですか?
nant - nant xmlpoke ファイルパスでワイルドカードを使用する方法
nant で xmlpoke タスクを使用しており、xml ファイルのアドレス指定時にワイルドカードを使用する方法を探しています。現在、project\appFiles\project{versionNumber}\fileToUpdate.xml のようなファイル パスがあります。ワイルドカードを使用したいので、project\appFiles\project*\fileToUpdate.xml のように更新する必要はありません。毎回バージョン番号。
ワイルドカードを尊重するにはどうすればよいですか?
jenkins - xbuildとJenkinsでAndroidマニフェストを更新する正しい方法は何ですか?
私たちの環境では、xamarin.android プロジェクトをビルドしており、$(build_number) 変数を Jenkins ビルドに渡したいと考えています。残念ながら、Jenkins はビルド ワークフローに何も渡されなかったかのようにプロジェクトをビルドしています。
Windowsでは問題なく動作し、Macではまったく動作しないXmlPokeを使用しようとしました。
os: mac os x jenkins & xamarin は最新の安定版です
提案してください。
c# - 複数の appsettings キーを追加する Xmlpoke が機能しない
「ProjectID」という単一のキーをweb.configのappsettingセクションに追加することで正常に実行されるMsbuildターゲットがあります。同じ appsetting セクションにもう 1 つのキー 'ApplicationId' を追加して、このターゲットの動作を変更しています。ログは、xmlpoke が両方に対して実行されたことを示しています。ただし、すべての実行で projectID 値のみが正しく置き換えられます。
(抜粋)PropertyGroup定義:
ターゲットコード:
観察された出力ログ:
アセンブリ "Microsoft.Build.Tasks.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" から "XmlPoke" タスクを使用します。2019-06-25 08:37:13,202 [9] デバッグ EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] - タスク「XmlPoke」 2019-06-25 08:37:13,203 [9] DEBUG EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] - 「値」を「4424cc12-4368-45ad-ad5b-19e821eb91d4」に置き換えました。 2019-06-25 08:37:13,203 [9] DEBUG EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] - 1 つの置換を作成. 2019-06-25 08:37:13,204 [9] DEBUG EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] - タスク「XmlPoke」の実行が完了しました。2019-06-25 08:37:13,204 [9] デバッグ EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] -タスク「XmlPoke」 2019-06-25 08:37:13,204 [9] DEBUG EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] - 0 個の置換を行いました。2019-06-25 08:37:13,204 [9] DEBUG EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] -タスク "XmlPoke" の実行が完了しました。
私がこれまでに試したこと:
- 元々は PropertyGroup で ApplicationId 値を渡していました。役に立ちませんでした。
- したがって、コードに見られるように値をハードコーディングしても、 Value="SetAValue" はまだ appsetting にキーを追加していません。