次のappcmdを使用して、autoStartProviderをautoStartProvidersのリストに追加しています。
appcmd.exe set config -section:system.applicationHost/serviceAutoStartProviders /+"[name='MyAutoStartup',type='PreWarmCache, MyAssembly, version=1.0.0.0, Culture=neutral, PublicKeyToken=null']" /commit:apphost
スクリプトを初めて実行すると、すべてが正しく機能します。しかし、スクリプトを2回実行すると、"MyAutoStartup"は既に存在しますと文句を言います。以下を使用してコレクションをクリアできることを知っています。
appcmd.exe clear config -section:system.applicationHost/serviceAutoStartProviders -commit:apphost
しかし、それはすべてのキーを削除する、MyAutoStartだけではありません。
MyAutoStartのみを削除する存在する場合にそれを行う方法はありますか?
実験した後、次のコマンドが機能することがわかりました。
appcmd.exe set config -section:system.applicationHost/serviceAutoStartProviders /-"[name='MyAutoStartup',type='PreWarmCache, MyAssembly, version=1.0.0.0, Culture=neutral, PublicKeyToken=null']" /commit:apphost
基本的には「/ +」を「/-」に置き換えています