ClickOnce経由で公開するWPFアプリケーションがあります。公開後のバージョン番号をデータベースに保存
パブリッシュが成功するたびに、ClickOnceのバージョン番号(自動的にインクリメント)をデータベースに保存する必要があります。
OnPublishSucces
のように、公開後にデータベース操作をトリガできるイベントはありますか?
ClickOnce経由で公開するWPFアプリケーションがあります。公開後のバージョン番号をデータベースに保存
パブリッシュが成功するたびに、ClickOnceのバージョン番号(自動的にインクリメント)をデータベースに保存する必要があります。
OnPublishSucces
のように、公開後にデータベース操作をトリガできるイベントはありますか?
私はこの問題に2,3時間苦労し、最終的にはいくつかの異なるソースから回答をまとめました。このコードは、csprojファイルの終了タグの直前にあります。 IDE経由で公開後イベントを変更することはできません。したがって、Target Name = "AfterPublish"は、ビルドではなくパブリッシュ・イベントの後にのみトリガーされます。以下のコードは、アプリケーションのバージョンを取得します。このコマンドは、SQLCMD.exeアプリケーションを使用してクエリを実行します。
<Target Name="AfterPublish">
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="Targets" />
</GetAssemblyIdentity>
<ItemGroup>
<VersionNumber Include="@(Targets->'%(Version)')" />
</ItemGroup>
<Exec Command=""C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.exe" -S SERVERNAME -U USERNAME -P PASSWORD -d DATABASENAME -Q "UPDATE [TABLENAME] SET [COLUMNNAME] = '@(VersionNumber)'"" />
</Target>
は明らかに独自のパラメータで大文字パラメータを交換し、これまでに二重引用符は、SQLCMDのファイルパスとクエリ自体の周りのこの場合(コマンド引用符内で必要とされている"を使用しています。
希望を助けてください。