2017-12-11 3 views
0

ファブリックサービスを実行する前に起動スクリプトを作成してDLLを登録しようとしています。この記事では、Startup.batファイルを作成してServiceManifest.xmlファイルに設定する必要があると言うhttps://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cloud-services-migration-worker-role-stateless-service#startup-tasksという記事が見つかりました。Azureファブリックサービスの起動タスク

質問:Startup.batファイルはどこに置くのですか? .batファイルの代わりにpowershellスクリプトファイルにすることはできますか?

答えて

1

質問:Startup.batファイルはどこに配置しますか?

プロジェクトのルートにStartup.batファイルを追加できます。 Visual Studioでは、スタートアップバッチファイルの出力ディレクトリのプロパティをに設定してください。コピーは常にに設定してください。詳細については、スクリーンショットを参照してください。

.batファイルの代わりにpowershellスクリプトファイルを使用できますか?私のテストに基づいて

直接呼び出すことはできませんが、それは、起動バッチファイル内から呼び出すことができWindows PowerShellスクリプトこと。 PowerShell(既定)では、署名されていないスクリプトは実行されません。スクリプトに署名しない限り、署名されていないスクリプトを実行するようにPowerShellを構成する必要があります。署名されていないスクリプトを実行するには、ExecutionPolicyをUnrestrictedに設定する必要があります。

PowerShell -ExecutionPolicy Unrestricted .\startup.ps1 >> "c:\tom\startup.txt" 2>&1 

enter image description here

サービスマニフェストファイル:

<SetupEntryPoint> 
    <ExeHost> 
     <Program>Startup.bat</Program> 
    </ExeHost> 
</SetupEntryPoint> 

enter image description here

+0

感謝。私はあなたが言ったように、展開時にエラーが発生します。 '' 'エラーイベント:SourceId = 'System.Hosting'、Property = 'CodePackageActivation:Code:SetupEntryPoint' CodePackageの有効化中にエラーが発生しました。サービスホストは終了コードで終了しました:3'' [this](https://stackoverflow.com/questions/41811432/service-fabric-setupentrypoint)それは動作しません。マニフェストファイルをどのように設定しましたか? –

+0

マニフェストファイルの設定で回答を更新しました。 –

+0

SetupEntryPointとPSスクリプトの詳細については、次の記事をご覧ください。https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-application-runas-security –

関連する問題