2

パッケージと発行を使用して、C# ASP.Net MVC4 Web ロールを Windows Azure クラウド サービスにデプロイしています。初めてパッケージ全体をアップロードし、サイトは正常に動作しています。次の変更セットを公開したいときに、公開オプションがパッケージ全体を再度アップロードしようとしています。

私は既にリモート デスクトップと Web 配置を構成しており、Windows Azure ツールを使用したクラウド サービスの公開に関する記事に記載されているガイドラインに従って増分更新も有効にしています。

しかし、これは機能していないようで、パブリッシュはパッケージ全体を何度もアップロードしようとしています。誰かがこの問題に直面し、修正を思いつきましたか?

4

3 に答える 3

5

いいえ。

現在、増分変更の展開をサポートするすぐに使用できるソリューションはありません。

クラウド サービスを使用する場合、開発/テスト以外の目的で Web Deploy を使用しないことを強くお勧めします。その理由は、Web デプロイおよびその他の非フル パッケージ アップロード プロセスを介して行われたすべての変更は、インスタンスがリサイクル/修復されるとすぐに消去されるためです。

部分的な変更を展開できるようにするプロジェクトに取り組んでいます。残念ながら、現在は「bin」フォルダーへの更新のみをサポートしています。このプロジェクトはこちらからご覧いただけます。少なくとも良い出発点です。

于 2013-05-21T09:49:27.640 に答える
0

VS2013 では、ロールによって参照される'Deploy'Web アプリ プロジェクトのコンテキスト メニューから選択します(ロールを参照する「クラウド サービス」プロジェクトではありません。これを行う、サービス全体とそのロール以外のすべてが公開されます)。 -段階的に)。

*.cloudapp.net プラットフォーム上の Web サイトを参照する「公開プロファイル」が必要です。存在する場合、それは Visual Studio によって配置されたものです...おそらく、最初にサービスをデプロイするときに [すべての Web ロールに対して Web デプロイを有効にする] チェックボックスをオンにしたときです。

ただし、そこにないか、間違っている可能性があります。たとえば、Visual Studio は愚かであり、(サービスに「Web ロール」として組み込むことを決定する前に) Web アプリを既に「Web サイト」として公開していることに気付いたため、既存のものを残すことにしました。 *.azurewebsites.net のみのエントリ。それとも、そのプロジェクトが<VirtualApplication />サービス定義の XML の要素としてロールに含まれているだけで、Visual Studio がそれを作成するのを怠っただけなのでしょうか?

そのため、Visual Studio に適切なプロファイルを強制的に再作成させる何らかの方法を見つける必要があります。または、既知の適切なソース (Properties/PublishProfilesプロジェクト ルートの下のディレクトリ)から発行プロファイルの XML ファイルを手動でコピーして編集する必要があります。 、または不在のドキュメントから設定を推測するだけです。

これらの設定は次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>MSDeploy</WebPublishMethod>
    <MSDeployServiceURL>https://MYAPP.cloudapp.net:8172/MsDeploy.axd</MSDeployServiceURL>
    <DeployIisAppPath>INSTANCE</DeployIisAppPath>
    <RemoteSitePhysicalPath />
    <AllowUntrustedCertificate>True</AllowUntrustedCertificate>
    <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
    <DeployAsIisApp>False</DeployAsIisApp>
    <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
    <UserName>MYUSER</UserName>
  </PropertyGroup>
</Project>

ここで: MYAPP- はデプロイされた Azure サービスのドメイン名です INSTANCE- は更新するインスタンスの名前です (サーバー エクスプローラーから取得します...サービスの下の「インスタンス」の「名前」プロパティです ... またはWindows Azure 管理ダッシュボードのサービスを構成するインスタンスのリストから取得します)。 MYUSER- は、リモート デスクトップ サービス用に最初に公開するときに設定したユーザーの名前です。

于 2014-08-25T14:28:27.417 に答える