アセンブリ名と異なるClickOnceパブリッシュ名があります。議論の目的のために、それは "App 6.0"です。プロジェクトのプロパティで設定しました。プログラムの中からこの価値を引き出す方法はありますか?アプリケーション内からClickOnce公開された製品名を入手できますか?
答えて
答えはClickOnce Run at Startupで見つけることができます。基本的には、InPlaceHostingManagerを使用してClickOnceマニフェストを取得し、それを読み取ります。これは非同期メソッドであると私には不具合がありますが、これがこれまでに働いていた唯一の方法です。簡略化は非常に高く評価されています。 DeploymentDescriptionの説明については、Webページを参照してください。
var inPlaceHostingManager = new InPlaceHostingManager(ApplicationDeployment.CurrentDeployment.UpdateLocation, false);
inPlaceHostingManager.GetManifestCompleted += ((sender, e) =>
{
try
{
var deploymentDescription = new DeploymentDescription(e.DeploymentManifest);
string productName = deploymentDescription.Product;
***DoSomethingToYour(productName);***
// - use this later -
//var commandBuilder = new StartMenuCommandBuilder(deploymentDescription);
//string startMenuCommand = commandBuilder.Command;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace);
}
});
ApplicationDeployment.UpdatedApplicationFullNameプロパティ
これは正解ではありません。私は、Clickonce Publishオプションに入力されているProductNameを探しています。私はマニフェストを使用するソリューションを見つけましたが、それは最もエレガントではありません。 – tofutim
Microsoft.Build.Tasks.v4.0.dll
への参照を追加し、その後、この実行します。
if (null != AppDomain.CurrentDomain.ActivationContext)
{
DeployManifest manifest;
using (MemoryStream stream = new MemoryStream(AppDomain.CurrentDomain.ActivationContext.DeploymentManifestBytes))
{
manifest = (DeployManifest)ManifestReader.ReadManifest("Deployment", stream, true);
}
// manifest.Product has the name you want
}
else
{
// not deployed
}
をDeployManifestも、出版社やSUPPORTURLのようなあなたのマニフェストから他の有用な情報を提供することができます。
これが機能するためのバージョン要件(あれば、.NET FrameworkやVisual Studioなど)は何ですか? –
- 1. episerver commerce製品を入手
- 2. コマンドラインからClickOnceを公開する
- 3. マイクロソフトから入手できなくなった製品へのアクセス
- 4. Bizspark - 製品が公開された後のライセンス
- 5. どのようにすべての製品から製造元を入手できますか?
- 6. ClickOnce公開されたDPI対応アプリケーションのインストール
- 7. Magento特定のカテゴリから名前、画像、説明付きの製品を手に入れよう
- 8. Java EEで開発されたWebアプリケーションのサンプルはどこから入手できますか?
- 9. ClickOnce公開
- 10. 要約情報などを公開して、消費されたWCFサービスでIntellisenseを入手できますか?
- 11. Magentoの - 製品IDからバンドルされた製品IDのリストを取得
- 12. Prestashopでデータベースから特定の製品を入手する方法
- 13. レール製品名ビュー内
- 14. 私のアプリケーション間で、アプリ内購入で購入した非消費製品を共有しますか?
- 15. Magentoは、設定製品が無効であってもシンプルな製品から設定可能な製品を入手します
- 16. Clickonceアプリケーションの公開中にエラーが発生しました
- 17. 公開ページ承認者とページステータスをワークフローで入手できますか?
- 18. .NET ClickOnceアプリケーション。それが開始されたページのURLまたはドメインを解決できますか?
- 19. clickonceなしでの公開
- 20. RCPアプリケーションなしでEclipse製品を作成できますか?
- 21. ClickOnceは、Webからインストールされたアプリケーションを公開しました。実行するたびに「Launching Application」ウィンドウが表示されます。
- 22. 設定可能な製品でMagentoバンドルされた製品またはグループ製品を作成する
- 23. MonoDevelopクラッシュで公開されたアプリケーション
- 24. 無料で公開されているVisual Studio 2010のエディションは入手できますか?
- 25. Amazonの製品用にXMLを入手する方法はありますか?
- 26. MSBuildでClickOnceアプリを公開する
- 27. .NET ClickOnceアプリケーションで公開バージョンとアセンブリバージョンを同期させるにはどうすればよいですか?
- 28. Magento製品の入手可能性 - >設定可能な製品にコードが見つかりません
- 29. Magentoで関連製品のティア価格を入手する
- 30. Elastic Beanstalkアプリケーションからラムダ関数で作成されたファイルを公開する
'InPlaceHostingManager'は' System.Deployment.dll'にあります。 'DeploymentDescription'はどこにありますか? –
@DaviFiamenghiあなたが探しているクラスはリンク先のコメントにコメントしています。私はそれを含む答えを編集し、レビューを待っている。リンクをたどってクラスのページを検索すると、それを見つけることができます。 – workabyte