0

私は紺碧のアプリを持っています。ソースコードを配布して毎回再コンパイルすることなく、無料のアプリケーションとして共有することは可能ですか (誰でも自分の azure アカウントに展開できるようになります)。私はAzureデータベースを使用しているため、リクエストを行うために接続文字列が必要であり、現在は文字列がハードコーディングされています。また、ハードコーディングされた接続文字列を使用して、ブロブと動的インスタンス割り当てにアクセスしています。これらの文字列を取り出して、プロジェクトを再コンパイルせずに変更できるようにする方法はありますか? ありがとう。

4

1 に答える 1

1

そのとおり。クラウド プロジェクトをコンパイルすると、パッケージ ファイルと構成ファイルが作成されます。必要に応じて、これらのファイルを配布できます。

接続文字列やその他の設定の削除に関して、できることの 1 つは、メインのクラウド プロジェクトと同じ設定を持つ別のクラウド プロジェクトを作成することです。唯一のことは、ユーザー環境に固有の設定 (接続文字列など) が空になることです。次に、このクラウド プロジェクトをパッケージ化し、配布cspkgしてcscfgファイル化します。

さらに詳しく説明するには、以下のスクリーンショットをご覧ください。

ここに画像の説明を入力

基本的に、ここには 2 つのクラウド プロジェクト (Web.AzureWeb.Test.Local) があり、両方のクラウド プロジェクトが同じWebプロジェクトを参照しています。ここで、私たちの場合Web.Azureは開発クラウド プロジェクトでWeb.Test.Localあり、テスト クラウド プロジェクトです。これらのプロジェクトはどちらも同じ設定名を持っていますSqlConnectionStringWeb.Azureでは、その値を開発中の SQL Server の値に指定しましたが、 では他Web.Test.Localの値を指定できます。テスターに​​アプリケーションをテストしてもらいたい場合、テスターはパッケージをWeb.Test.Local取得し、そのプロジェクトに基づいて設定を取得します。同じ例えを取ると、2 つのクラウド プロジェクトを作成できます (次にDevと を呼び出しましょうRelease)。あなたがしなければならないことは、両方のクラウド プロジェクトで同じ設定を使用することですが、それらの設定には値がありません。Release事業。

あなたが取ることができるさらに別のアプローチは、このブログ投稿で説明されているものです: http://blog.paraleap.com/post/2011/09/13/Managing-environments-in-a-distributed-Azure-or-other-cloud-ベースの NET ソリューション.

cspkgファイルは基本的にファイルであることに注意してくださいzip。パッケージ ファイルの拡張子を cspkg から zip に変更し、そのファイルを解凍して、すべてのバイナリを表示できました。次に、RedGate の Reflector や Telerik の Just Decomplie などのツールを使用して、バイナリ ファイルを逆コンパイルし、場合によってはソース コードを調べることができます。これを回避するには、パッケージ化する前にバイナリを難読化することをお勧めします。

于 2013-11-07T05:38:14.253 に答える